正则表达式匹配字符串
如果网页内容模式基本保持不变,而需要获得网页中的部分内容或代码,可以通过正则表达式(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}”,则匹配失败.