我在mongoDb集合中有一个字段叫做"name",其中包含:
"26.11.2018(2)"
我使用正则表达式来搜索是否有任何字符串包含在字段“名称”中:
String search = "11.2018(2)";
return Criteria.where("name").regex(search);
我遇到异常了,由于括号的问题导致正则表达式错误。是否有其他查找方式可供选择?
我在mongoDb集合中有一个字段叫做"name",其中包含:
"26.11.2018(2)"
我使用正则表达式来搜索是否有任何字符串包含在字段“名称”中:
String search = "11.2018(2)";
return Criteria.where("name").regex(search);
我遇到异常了,由于括号的问题导致正则表达式错误。是否有其他查找方式可供选择?
您需要转义在正则表达式中使用的值。
我现在无法测试,但有可能它可以工作:
String search = "some pattern(a)12.";
pattern = Pattern.compile(Pattern.quote(search), Pattern.CASE_INSENSITIVE);
return Criteria.where("name").regex(pattern);
https://mongodb.github.io/mongo-java-driver/3.4/javadoc/?com/mongodb/client/model/Filters.html
String search = "\\(2\\)"
- mrzasa"11\\.2018\\(2\\)"
- mrzasa