Doris的正则匹配规范问题

Viewed 16

在测试Doris的正则匹配时,发现两个问题。
问题1
Doris的语法规范,需要加转义。'\d+'不行,要'\\d+'才行。是所有的特殊符号都需要加转义吗?
Xnip2025-02-20_20-14-13.jpg
问题2
中文匹配的问题。
官方提供了一个中文匹配的正则表达式 '\p{Han}'是符合要求的,但这是Doris自定义的正则表达式吗?
用常用的中文匹配正则 '[\u4e00-\u9fa5]' 时,发现全中文的命中不了,前后有非中文字符时才能命中。
image.png

而且,为什么'[\u4e00-\u9fa5]' 中不需要加转义,加了转义反而报错:无效的正则表达式。

image.png

关于正则表达式有相关规范的文档吗?

1 Answers
  1. 在mysql客户端输入时,文本会经过FE进行第一遍过滤,所以\被视作转义字符用于转义d,我们需要传递下去的是\d,所以要把\原本传下去,就需要再加一个\来转义\(使\d的\成为纯文本而不用于转义d)。所以最终需要\\d
  2. 这是Unicode字符类属性,您可以在网络上找到很多相关内容。具体的Doris使用的语法文档,可以参考RE2文档