首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多重负条件下的Regex前瞻

多重负条件下的Regex前瞻
EN

Stack Overflow用户
提问于 2013-09-16 22:03:44
回答 4查看 4.7K关注 0票数 3

我正在HTML字符串上执行regex来获取URL,我想获取所有不是javascript的href和src。在另一篇这样的文章中,我有以下模式:

代码语言:javascript
复制
/(href|src)?\="http:\/\/www\.mydomain\.com\/(?:(?!\.js).)*"/

这给我带来了如下结果:

代码语言:javascript
复制
src="http://www.mydomain.com/path/to/resource/image.gif" alt="" border="0"

这很好,因为它缺少.js结果。这很糟糕,因为它正在获取元素中的附加标记。我尝试了下面的修改,以在第一个"停止

代码语言:javascript
复制
/(href|src)?\="http:\/\/www\.mydomain\.com\/(?:(?!\.js).)[^"]*"/

它的工作原理是返回href="$url",但返回以.js结尾的结果。是否有一种将负面展望结合起来的方法:

  • 匹配字符串,直到它遇到另一个" -即[^"]*
  • 如果字符串以.js"结尾,则不匹配它

提前感谢您的帮助/提示/提示。

EN

Stack Overflow用户

回答已采纳

发布于 2013-09-16 22:08:17

加上"?“最后一句之前的"*“。这将使"*“不再贪婪,即:它将在第一次引用时停止匹配,而不是最后一次引用。

代码语言:javascript
复制
/(href|src)?\="http:\/\/www\.mydomain\.com\/(?:(?!\.js).)*?"/
票数 3
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18838071

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档