Spring Data MongoDB 检查字段是否包含文本

3

我在mongoDb集合中有一个字段叫做"name",其中包含:

"26.11.2018(2)"

我使用正则表达式来搜索是否有任何字符串包含在字段“名称”中:

String search = "11.2018(2)";
return Criteria.where("name").regex(search);

我遇到异常了,由于括号的问题导致正则表达式错误。是否有其他查找方式可供选择?


尝试转义括号: String search = "\\(2\\)" - mrzasa
1
同时在正则表达式中转义点号,因为它是一个特殊字符; "11\\.2018\\(2\\)" - mrzasa
谢谢,对于“(2)”这个搜索条件是可以工作的,但是如果我搜索“11.2018(2)”怎么办?有没有一种“常量”表达式可以同时适用于这两个查询呢? - opax
不确定您所说的“是否有任何“常量”表达式可适用于两个查询?”的意思。 - mrzasa
我正在寻找一种解决方案,可以在mongoDb字段中搜索任何字符串,有时该字符串类似于“simpleString”,但有时又像“string(2)” - opax
1个回答

3

Pattern.escape 具有私有访问权限。我们可以使用 Pattern.quote 代替。 - Olivier Tonglet

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接