java中正则表达式使用
Pattern类和Matcher类是java提供的正则表达式操作的类。
用到了工厂建造的模式。通过Pattern传入一个正则表达式String,构造一个Matcher对象,通过Matcher对象查看对象的匹配和替换。
1.构造Pattern对象
String img="<\\s*img\\s*([^>]*)\\s*>";//匹配img标签
Pattern p=Pattern.compile(img);
//compile还有第二个参数,是查找的方式,比如区分大小写了。
Pattern p=Pattern.compile(mainReg,Pattern.CASE_INSENSITIVE); //多个属性可以用“|”分开
2.通过Pattern对象获得Matcher对象
Matcher m=p.matcher(content);//content是要匹配的内容
通过Matcher对象可以进行常见的正则表达式操作。
具体的方法可以参考jdk文档,我要特别说明的是替换(replace)操作,应注意的。
m.appendReplacement(StringBuffer sb,String replacedContent);
这样就把要替换后的内容放入sb中,但是这样sb中只有,替换后的内容,其它没有替换的内容则没有,要将这些内容加入需要执行下面一步。
m.appendTail(sb);
这样sb中才会含有替换后的所有内容。
Pattern类和Matcher类是java提供的正则表达式操作的类。
用到了工厂建造的模式。通过Pattern传入一个正则表达式String,构造一个Matcher对象,通过Matcher对象查看对象的匹配和替换。
1.构造Pattern对象
String img="<\\s*img\\s*([^>]*)\\s*>";//匹配img标签
Pattern p=Pattern.compile(img);
//compile还有第二个参数,是查找的方式,比如区分大小写了。
Pattern p=Pattern.compile(mainReg,Pattern.CASE_INSENSITIVE); //多个属性可以用“|”分开
2.通过Pattern对象获得Matcher对象
Matcher m=p.matcher(content);//content是要匹配的内容
通过Matcher对象可以进行常见的正则表达式操作。
具体的方法可以参考jdk文档,我要特别说明的是替换(replace)操作,应注意的。
m.appendReplacement(StringBuffer sb,String replacedContent);
这样就把要替换后的内容放入sb中,但是这样sb中只有,替换后的内容,其它没有替换的内容则没有,要将这些内容加入需要执行下面一步。
m.appendTail(sb);
这样sb中才会含有替换后的所有内容。