sql regexp 正则匹配 多对多
业务场景需求:sql 语句需要对某个字段多对多筛选
例如 :
要查询flag包含"X,C1"的数据,使用regexp正则匹配,当然从前端传递过去的flag是一个用逗号分割的字符串,需要先进行处理。
if (StringUtils.isNotEmpty(flag)) {
String[] rps = flag.split(",");
String rp = "";
for (String str : rps){
rp += StringUtils.isEmpty(rp) ? ("'" + str) : ("|" + str);
}
sql.append(" and flag regexp " + rp + "'");
}