在不区分大小写的搜索中处理特殊字符

时间:2017-03-07 21:04:06

标签: neo4j cypher

我正在使用:

c.customerName =~ '(?i).*$q.*' 

为了找到任何类型的客户名不敏感的情况,这对所有标准字符都是绝对正常的。不幸的是,在德国有特殊的字符,例如喜欢Ä,Ö,Ü。在这种情况下,cypher语句区分大小写,例如如果我们有两个客户名称,例如Ötest和ötest,只要你键入一个较低或较高的Ö,它将只找到其中​​一个。

任何人都有提示我可以做些什么来扩展这种特殊字符上的不敏感案例搜索?

编辑:当您有一个名称包括例如一个'&' - 你会发现例如键入'D&'时,公司D& A Construction - 当您添加第三个字符'D& A'时,搜索失败并且不显示任何结果。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

你需要在正则表达式中添加一个'u'来在一个不区分大小写的unicode正则表达式中转换它。像这样:

c.customerName =~ '(?ui).*$q.*'

在这里工作:

enter image description here

来自StackOverflow question