if (StrUtil.isNotBlank(queryCondition.getServiceCode())) { query.addCriteria(Criteria.where(SERVICECODE) .regex(Pattern.compile("^" + queryCondition.getServiceCode() + "$", Pattern.CASE_INSENSITIVE)) .regex(".*" + queryCondition.getServiceCode() + ".*")); } 这里忽略大小写,模糊查询不生效,什么原因
时间: 2024-03-01 17:51:46 浏览: 76
可能是因为正则表达式的写法有误。"^" 表示匹配字符串的开头,"$" 表示匹配字符串的结尾,这里使用了 "^" 和 "$" 来确保只匹配与查询条件完全相等的字符串,而没有使用 ".*" 来表示匹配任意字符,所以模糊查询不生效。你可以尝试将正则表达式修改为 ".*" + queryCondition.getServiceCode() + ".*",这样就可以匹配包含查询条件的任意字符串了。另外,为了忽略大小写,你可以在正则表达式前面加上 "(?i)",这样就会忽略大小写了。修改后的代码如下:
```
if (StrUtil.isNotBlank(queryCondition.getServiceCode())) {
query.addCriteria(Criteria.where(SERVICECODE)
.regex("(?i).*" + queryCondition.getServiceCode() + ".*"));
}
```
希望对你有帮助。
相关问题
StrUtil.isNotBlank
StrUtil.isNotBlank是一个方法,用于判断给定的字符串是否不为空且不包含空白字符。可以通过导入相关的依赖,比如MyBatis-Plus、Hutool或Apache Commons Lang,在项目中使用该方法。 该方法会返回一个布尔值,如果字符串不为空且不包含空白字符,则返回true,否则返回false。 例如,对于字符串"a",StrUtil.isNotBlank将返回true,而对于字符串""或" ",则返回false。
strutil.isnotblank()方法
strutil.isnotblank() 方法是一个用于判断字符串是否为空或空白的方法。它通常用于检查字符串是否包含实际内容,而不只是空格或换行符等空白字符。该方法返回一个布尔值,如果字符串非空或非空白,则返回 True,否则返回 False。你可以使用该方法来验证用户输入的字符串是否有效或执行其他与非空字符串相关的操作。
阅读全文