正则表达式匹配HTML标签中的一部分内容

假设我有这样的 回复[3042] 一串内容,要从中将3042匹配出来,该用什么样的正则表达式?

5个回答

[code="java"] public static void main(String[] args) {
String string = "回复[3042]"
+ "回复[3043]"
+ "回复[]"
+ "回复[3]";
Pattern p = Pattern.compile("<[^>]*>[^>]*\[(\d*)\][^>]*</[^>]*>");
Matcher m = p.matcher(string);
StringBuilder sb = new StringBuilder();
while (m.find()) {
sb.append(m.group(1));
sb.append("\n");
}
System.out.println(sb.toString());
}[/code]
结果:
[quote]3042
3043

3
[/quote]

基本上可以满足你的需要!

回复[([0-9]{0,n})] 取第一组
如果有特殊要求,请说明

如果想更进一步了解正则表达式,请参考
http://www.jb51.net/tools/zhengze.html

如果想更进一步了解正则表达式,请参考 [url]http://www.jb51.net/tools/zhengze.html[/url]

String regex = "回复[(.*?)]";
Pattern pattern = Pattern.compile(regex);
Matcher match = pattern.matcher(html);
StringBuffer buffer = new StringBuffer();
while(match.find()){
buffer.append(match.group(1));
buffer.append("\n");
}
可以参考
http://jameszhao1987.iteye.com/blog/1415430

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!