regex - Spring Mongo 不区分大小写的搜索正则表达式

标签 regex spring mongodb case-insensitive string-matching

我正在尝试在 Mongo 中进行不区分大小写的搜索。基本上我想要不区分大小写的字符串匹配我正在使用正则表达式。这是我的代码

Query query = new Query( Criteria.where(propName).regex(value.toString(), "i"));

但是上面的 dosent 匹配我的整个字符串(有时带有空格的字符串)。即使它是一个子字符串,它也会返回值。

例如:假设我的集合有 2 个值“Bill”和“Bill status”,即使我的搜索是“bill status”,它也会返回“bill”。即使字符串有子字符串,它也会返回结果我正在寻找

我试过 Query query = new Query( Criteria.where(propName).is(value.toString()));

但是上面是区分大小写的。有人可以帮忙吗?

最佳答案

使用正则表达式搜索的不敏感搜索。 input_location 可以是 Delhi,delhi,DELHI,它适用于所有人。

Criteria.where("location").regex( Pattern.compile(input_location, Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE)));   

关于regex - Spring Mongo 不区分大小写的搜索正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11742170/

相关文章:

C# Regex 使用 newLine 在两个字符串之间查找字符串

java - 合并两个正则表达式

regex - 正则表达式用于匹配特定单词并忽略换行

java - Azure 上的自定义 Tomcat 配置(平台即服务)

java - 如何返回收到的mongodb数据?

regex - 查找第三次出现的特殊字符并删除 R 中之前的所有内容

spring - Jasypt 与 Hibernate 4 和 spring 3.1 集成

java - Spring集成tcp-connection-factory在回复之前关闭客户端连接

mysql - 存储多种类型数据的最佳方式

javascript - 在 mongodb(数据库部分)与 Node js(服务器端?