我们在 hive 上遇到正则表达式问题。
我们需要排除记录开头带有 +37
或 0037
的数字(这可能是正则表达式上的错误结果),并且不包含字母或空格。
我们正在尝试这个:
regexp_like(tel_number,'^\+37|^0037+[a-zA-ZÀÈÌÒÙ]')
但它不起作用。
编辑:我们希望它从选择中显示为 true(正确的数字)或 false。
最佳答案
要排除以 +01 0r +001 或 +0001 开头且仅包含数字且不含空格或字母的数字:
... WHERE tel_number NOT rlike '^\\+0{1,3}1\\d+$'
Hive 中的特殊字符(例如 +
)和字符类(例如 \d
)应使用双斜杠进行转义:\\+
和 \\d
.
关于sql - 正则表达式类似于 Hive 上的电话号码,没有前缀 (+01),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68405737/