读书人

正则表达式的有关问题

发布时间: 2012-01-01 23:10:55 作者: rapoo

正则表达式的问题
我写了一个程序
解析 html 我想得到 html 中 <body> 和 </body> 之间的内容
我写了以下正则表达式
String match_patten = " <\\s*(?i)body\\s*> (.*?) <\\s*/\\s*(?i)body\\s*> ";
然后执行:
Pattern pattern = Pattern.compile(match_patten);
Matcher matcher = pattern.matcher(content);
但是没有匹配成功。
是正则表达式的问题吗?

[解决办法]
可以匹配成功啊! 是不是你放进去的字符串不对啊!

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Tester {
public static void main(String argc[]){
String regex = " <\\s*(?i)body\\s*> (.*?) <\\s*/\\s*(?i)body\\s*> ";
Pattern pattern = Pattern.compile(regex);
String str = " <body> <a> tt </a> </body> ";
Matcher m = pattern.matcher(str);
System.out.println(m.matches());
}
}
[解决办法]
Pattern pattern = Pattern.compile( " <body> (.*) </body ");
Matcher m = pattern.matcher(content);
if(m.find())
System.out.println(m.group(1));

读书人网 >Eclipse开发

热点推荐