String finalSql="table23=select * from table where id =10 "; Matcher m = Pattern.compile("([a-zA-Z_]\\w*) *= *([a-zA-z].+)").matcher(finalSql); if(m.find()){ System.out.println(m.group(1)); System.out.println(m.group(2)); }
正则表达式实现的功能是实现分组,将finalSql的左右两侧提取出来
[a-zA-Z] 表示 匹配 左侧字母开始的部分, \\w 表示匹配数字、字母、和下划线的一个字符 *表示匹配0个或者多个 *表示匹配0或者多个前面的空格
=匹配表达式的=
*匹配0或者多个空格 . 点匹配任何单个字符 +表示匹配一次或者多次