现有下面一个字符串,想要截取 从where 开始后面的字符串,where Id=121212
这个不能直接用 indexof,因为有时候 update table1 set 直接tablename 有可能含有where.
这个可以匹配 update set where 这个模式, 怎么截取 where ?
update\\s+(.*)\\s+set\\s+.*\\s+where\\s+.*
String sql1 = "update table1 set Id=11 where Id=121212";
...全文
1311打赏收藏
一个正则表达式问题
现有下面一个字符串,想要截取 从where 开始后面的字符串,where Id=121212 这个不能直接用 indexof,因为有时候 update table1 set 直接tablename 有可能含有where. 这个可以匹配 update set where 这个模式, 怎么截取 where ? update\\s+(.*)\\s+set\\s+.*\\s+where\\s+.* String sql1 = "update table1 set Id=11 where Id=12121
Pattern p = Pattern.compile("[w][h][e][r][e]\\s+[I][d][=]\\d+");
String sql1 = "update table1 set Id=11 where Id=121212";
Matcher m = p.matcher(sql1);
while (m.find()) {
p(m.group());
}