我需要获取所有' a'的href属性值(大于特定长度)。 HTML文件中的元素。我做了这样的事情;
<a.*href\s*=\s*"(?<link>.{15,})".*>
但它无法正常工作。有什么建议?
答案 0 :(得分:1)
以下几种方法可以避免在标记内捕获多个字段:
尝试使量词非贪婪。 {15,}?
代替{15,}
。这样它就会停在第二个双引号,而不是在<a />
标记内捕获更多字段。
更好的选择是使用更具限制性的内容替换量词前面的全部.
。尝试使用专用字符类,例如[^\s]{15,}
将查找至少15个连续的非空白字符。
到目前为止,这两种方法都适用于我,但请记住,URL可能非常混乱,甚至在野外都会出现格式错误,因此您无法保证抓住所有内容。您对目标网站了解得越多越好。