我有一个RegEx表达式,它已经运行了好几个月了。从今天起,它不再起作用了。此命令在Azure上的Databricks笔记本中作为SQL魔术单元的一部分运行。
CAST
WHEN NOT (phone REGEXP "^\\(?[2-9][0-8][0-9]\\)? ?[2-9][0-9]{2}-?[0-9]{4}\\b") THEN"S"
ELSE ""
END AS exception我得到的错误是:
PatternSyntaxException: Unknown inline modifier near index 3
^(?[2-9][0-8][0-9])? ?[2-9][0-9]{2}-?[0-9]{4}有人知道这个问题的原因或如何解决吗?
非常感谢
发布于 2022-05-19 07:57:25
PatternSyntaxException:索引3 ^(?2-90-9)??2-9{2}-?0-9{4}附近未知的内联修饰符
Pattern的compile()和matches()方法引发的。description、regex和index,其中语法错误发生在regex中。当不知道语法错误位置时,index设置为-1。String是语法上有效的正则表达式:boolean isRegex;
try {
Pattern.compile(your regex string);
isRegex = true;
} catch (PatternSyntaxException e) {
isRegex = false;
}参考资料:
https://stackoverflow.com/questions/72291752
复制相似问题