一个关于正则的有关问题
一个关于正则的问题
------解决思路----------------------
------解决思路----------------------
学习了
Pattern p = Pattern.compile("and .+?\\.??.+?[.]??=\\?");
Matcher m = p.matcher("select * from bbb1 bxs1 where 1=1 and bxs1.id = (select * from cc1 where 1=1 and cc1.id=? and cc1.name=?)");
int i=0;
while (m.find()) {
String value = m.group();
System.out.println(value);
i++;
}
//现在输出结果是
//and bxs1.id = (select * from cc1 where 1=1 and cc1.id=?
//and cc1.name=?
//期望结果是
//and cc1.id=?
//and cc1.name=?
------解决思路----------------------
package net.****.question;
/*
* //现在输出结果是
//and bxs1.id = (select * from cc1 where 1=1 and cc1.id=?
//and cc1.name=?
//期望结果是
//and cc1.id=?
//and cc1.name=?
*/
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
public static void main(String[] args) {
String regex = "and\\s+[\\w\\d]+\\.[\\w\\d]+\\s*=\\s*\\?";
Pattern p = Pattern.compile(regex);
String input = "select * from bbb1 bxs1 where 1=1 and bxs1.id = (select * from cc1 where 1=1 and cc1.id=? and cc1.name=?)";
Matcher m = p.matcher(input);
// System.out.println(m.find());
while (m.find()) {
System.out.println(m.group());
}
}
}
------解决思路----------------------
学习了