nebula正则匹配不支持子表达式么

MATCH (n:TABLE) WHERE n.name =~ ‘(?i).test.’ return n.id as id
好像不支持正则表达式(?i)
如果需要模糊匹配test、Test、TEST等这些组合呢,难道只有一个个CONTAINS或者.*test.*等等么

请问(?i)是什么含义呀? 没查到这种子表达式用法

不区分大小写匹配一次或多次

根据这个帖子 , std::regex还不支持(?i)这种用法, nebula的正则目前还用的std::regex, 以后应该会换个更强大的库

1 个赞

好的,烧香静侯。

突然想到可以换种方式,有用将n.name先转成小写的函数再匹配正则的语法没。分开我知道应该是有的把,组合能用么。

可以的

MATCH (n:TABLE) where lower(n.name) =~ ".test." return n.name
2 个赞

好的,thanks。

如果你觉得 jievince 的回复解决了你的问题,可以勾选他的回复为【解决方案】哈

此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。