我正在对 HTML 字符串执行正则表达式以获取 URL。我想获取所有不是 javascript 的 href 和 src。从另一个 SO 帖子我有以下模式:
/(href|src)?\="http:\/\/www\.mydomain\.com\/(?:(?!\.js).)*"/
这让我得到如下结果:
src="http://www.mydomain.com/path/to/resource/image.gif" alt="" border="0"
这很好,因为它缺少.js
结果。这很糟糕,因为它在元素中获取额外的标签。我尝试了以下修改以首先停止"
:
/(href|src)?\="http:\/\/www\.mydomain\.com\/(?:(?!\.js).)[^"]*"/
它的工作原理是它返回 href="$url",但它返回的结果以.js
. 有没有办法结合一个负面的前瞻,它说:
- 匹配字符串,直到遇到另一个
"
- 即[^"]*
;和 - 如果它以结尾,则不匹配字符串
.js"
提前感谢任何帮助/提示/指针。