[英]How to extract required string in below text using regular expressions in java?
[英]Extract text from html source using regular expressions java
我喜欢使用正则表达式从html页面提取文本。 这是我的代码:
String regExp="<h3 class=\"field-content\"><a[^>]*>(\\w+)</a></h3>";
Pattern regExpMatcher=Pattern.compile(regExp,Pattern.UNICODE_CHARACTER_CLASS);
String example="<h3 class=\"field-content\"><a href=\"/humana-akcija-na-kavadarechkite-navivachi-lozari\">Проба 1</a></h3><h3 class=\"field-content\"><a href=\"/opshtina-berovo-ne-mozhe-da-sostavi-sovet-0\">Проба 2</a></h3>";
Matcher m=regExpMatcher.matcher(example);
while(m.find())
{
System.out.println(m.group(1));
}
我喜欢获取值Проба 1
和Проба 2
。 但是,我只得到第一个值Проба 1
。 我怎么了
使用正则表达式+ HTML是亵渎行为。 但是,如果您真的想受到诅咒,那么这里就是(您已经警告过):
String regExp = "<h3 class=\"field-content\"><a[^>]*>([\\w\\s]+)</a></h3>";
^updated part
由于Проба 1
和Проба 2
还包含空格,因此您需要在模式中包含\\\\s
。
要发现黑暗面的力量,可以尝试以下模式:
<h3 class=\"field-content\"><a[^>]*>([^<]+)</a></h3>
不要忘记之前设置UNICODE_CASE。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.