【发布时间】:2014-07-05 21:56:43
【问题描述】:
我有以下代码从正常工作的 XML 中获取 a href 标记网址:
Pattern p = Pattern.compile("<a[^>]+href\\s*=\\s*['\"]([^'\"]+)['\"][^>]*>");
Matcher m = p.matcher(xmlString);
while (m.find())
imagesURLs.add(m.group(1));
我有以下:
<a href="http://...">some text</a>
上面的代码让我在m.group(0) 中获得<a href="http://..."> 和在m.group(1) 中的http://...。
我也想得到完整的<a href="http://...">some text</a>。
如何通过修改正则表达式来实现这一点?
【问题讨论】:
-
改用 HTML 解析器
-
你能解释一下我为什么要这样做吗?它更快吗?
-
因为正则表达式脆弱且不可维护(为此目的)