我正在尝试获取某个标签内的文本。所以如果我有:
<a href="http://something.com">Found<a/>
我希望能够检索Found
text.
我正在尝试使用正则表达式来做到这一点。我能够做到,如果<a href="http://something.com>
保持不变,但事实并非如此。
到目前为止我有这个:
Pattern titleFinder = Pattern.compile( ".*[a-zA-Z0-9 ]* ([a-zA-Z0-9 ]*)</a>.*" );
我认为最后两部分 -([a-zA-Z0-9 ]*)</a>.*
- 还好,但我不知道第一部分该怎么做。
正如他们所说,不要使用正则表达式来解析 HTML。如果您意识到缺点,那么您可能会逃脱惩罚。尝试
Pattern titleFinder = Pattern.compile("<a[^>]*>(.*?)</a>", Pattern.DOTALL | Pattern.CASE_INSENSITIVE);
Matcher regexMatcher = titleFinder.matcher(subjectString);
while (regexMatcher.find()) {
// matched text: regexMatcher.group(1)
}
将迭代字符串中的所有匹配项。
它不会处理嵌套<a>
标签并忽略标签内的所有属性。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)