【发布时间】:2020-06-20 12:25:00
【问题描述】:
我有点迷失正则表达式,希望能得到一些帮助。
目标:提取两个“”之间的URL,而不返回“本身。
基本字符串:
<a href="somerandomurl" class="btn btn-xs btn-default "><span class="fa fa-eye fa-fw poptip" data-toggle="tooltip" title="" data-original-title="Inspect in-game"></span></a>
我想出了以下解决方案:
(="(.*)" class="btn btn-xs btn-default ")
太糟糕了,它是匹配的
="somerandomurl" class="btn btn-xs btn-default "
是否可以只匹配内部结果而不匹配分隔符?
somerandomurl
既然这应该包含在应该尽可能快地运行的脚本中,也许有更快更好的方法?实际上,此正则表达式搜索将应用于完整的网站。
【问题讨论】:
-
最好不要尝试使用正则表达式解析 HTML。什么语言?改用 HTML 解析器
-
使用DOMParser 与例如
document.querySelectorAll("a.btn.btn-xs.btn-default");并获得href -
您使用什么语言/工具?来自regex tag info:“由于正则表达式尚未完全标准化,所有带有此标签的问题还应包含一个指定适用的编程语言或工具的标签。”
-
Parsing HTML with regex is a hard job HTML 和正则表达式不是好朋友。使用解析器,它更简单、更快且更易于维护。
-
看看这个类似问题的答案:stackoverflow.com/questions/1454913/…
标签: regex