我使用的是企业3.2,并且正面匹配运算符 =〜存在问题。从文档中,似乎我可以使用字符串正则表达式,这应该不区分大小写。但是,当尝试时,右手操作数全部为小写时,它无法匹配字符。附加屏幕截图以引用该问题。第一个屏幕截图显示,当我们使用与集合中相同的大小写时,查询将恢复文档。
答案 0 :(得分:1)
REGEX_TEST(text, search, caseInsensitive)
为caseInsensitive
设置为true
(请参阅docs)。
运营商=~
只是REGEX_TEST(text, search, false)
的简写。
答案 1 :(得分:0)
确实你必须使用REGEX_TEST。这就是你如何做到的,例如。
FOR doc IN contacts
FILTER REGEX_TEST(doc.name, 'anystring_representing_regex', true)
RETURN doc
答案 2 :(得分:0)
当我遇到这个问题时,我偶然发现了这个问题,但是还有另一个解决方法。只是想把它交给想要使用=〜运算符而不是REGEX_TEST()函数的人。
示例:
FOR doc in contacts
FILTER doc.name =~ '(?i)raM'
RETURN doc
另一种解决方案也可以(未经测试):
FOR doc in contacts
FILTER LOWER(doc.name) == LOWER('raM')