正则表达式匹配字符串

如果网页内容模式基本保持不变,而需要获得网页中的部分内容或代码,可以通过正则表达式(Regular Expression)来匹配获得多个模式组的内容。使用方法如下:


import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

String cont 
= “.”; //cont 为需要匹配的内容
Set<String> list = new HashSet<String>(); 
//匹配的Regular Expression,待匹配项放在()中
Pattern pt = Pattern.compile("\\{\"isHungry\":\"(.+?)\"\\}" );
//匹配器 
Matcher mh = pt.matcher( cont ); 

//如果匹配成功
while( mh.find() )

    
//如果本次匹配成功,则取得匹配组中的第1组,第0组返回整个字符串 
    if( mh.group(1).compareToIgnoreCase("true"== 0)
       list.add( mh.group(
1) );


例如:
1.字符串“hello {"isHungry":"true"}”,则匹配成功,匹配后的内容mh.group(1)为"true"(不带引号),
1.字符串“hello {"isHungry":"true"} test {"isHungry":"false"}”,则匹配成功,第一次匹配后的内容mh.group(1)为"true"(不带引号),第二次匹配后的内容mh.group(1)为"false".
2.字符串“{"isHungry":true}”,则匹配失败.
posted @ 2009-07-27 11:25  wangyile  阅读(2704)  评论(0编辑  收藏  举报