你直接匹配 "=\\s*\\d+\\s+" 怎么样
------解决方案--------------------
就是为了获取category等号后面的值,是吧 for example
Java code
String sql = "select * from user where category = someValue and xxx = yyy ...";
String value = sql.replaceAll("(?i).*?category\\s*=\\s*(.*?)(\\s+.*|$)", "$1");
System.out.println(value);
------解决方案-------------------- 我表示没有正确领会楼主意图,原来“category”这个字段是固定的。
不过如果遇到别名或近似名应该还是有风险的。
比如(我瞎掰,见谅): where mycategory = 100
或者: select * from tableA a, table B b where a.mycategory=b.yourcategory