Pattern :
1.代表正则表达式本身
2.对正则进行预先的编译处理
3.提高处理效率
Matcher:
1.代表正则匹配的结果
2.实现更加复杂的管理(如:进行子组的管理)
package NO2;
import java.util.regex.*;
//import java.util.regex.Pattern;
//Pattern
//Matcher
//
public class Test23 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String ss = "2+3*(5*(12-6))";
//Pattern pt = Pattern.compile("\\([^\\(\\)]*\\)");//^在此处的意思表示为:排除,即()内再无()
Pattern pt = Pattern.compile("\\(([^\\(\\)]*)\\)");//加上子组,在正则表达式中用括号括起来的部分叫做子组
Matcher mc = pt.matcher(ss);
if(mc.find()){
System.out.println(mc.group());//mc.groun(1)直接剥离();
System.out.println(mc.start());//(起始位置
System.out.println(mc.end()); //)终止位置
}
}
}
结果:
3*5
3
*
5
2
5
package NO2;
import java.util.regex.*;
public class Test26 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String ss = "3*5*5*10";
Pattern pt = Pattern.compile("([0-9]+)\\*([0-9]+)");
Matcher mc = pt.matcher(ss);
if(mc.find()){
System.out.println(mc.group());
System.out.println(mc.group(1));
System.out.println(mc.group(2));
}
//System.err.println(ss);
}
}
结果:
3*5
3
5
利用正则表达式,可以完成一个四则表达式运算的功能.完整代码读者自行百度吧= =