StarRocks 正则表达式如何只匹配中文

  1. 这样写 where not regexp(mid,"^[\u4e00-\u9fa5]+$");
    会报这个错:Invalid regex expression: ^[\u4e00-\u9fa5]+$2a96-11ed-8d06-02422cd2fb0a: ‘\u’ at index 2 not supported in a character class.

2.这样写 regexp(mid,"^[\u4e00-\u9fa5]+$");
没办法只匹配中文

所以请教下sr的正则有什么办法只匹配中文呢?

可以使用[^\x00-\xff],如下图所示

这样好像只是匹配所有的多字符结果,结果集里不只中文,比如日文,韩文等也会被过滤出来。
请问还要别的方式吗?只过滤出中文出来

类似的疑问,我想使用regexp_replace 函数替换中文,如下:

select regexp_replace('123v 中文 v英文','[^\u4e00-\u9fa5]','*');

但是结果预想的完全不一样,
image
请教下大佬,这是个缺陷吗?
OR是否有合适的方式可以实现该功能 ?

写个UDF吧实现这个行为吧

使用的低版本的StarRocks,暂时不支持UDF,也不太方便升级;想再挣扎下是否有其他方法 :mask: