将正则表达式与否定组合



我有以下字符串

http://google.com/q=search<p>dfgdfg</p> 
https://www.google.com
http://www.google.com
www.google.com

我的正则表达式是这样的:

/(((https?://)|(www.))()[^s]+)/g

如何排除<p>dfgdfg</p>

从我的搜索字符串,所以只有真正的url将被选择?

我知道如何搜索它们但我希望它与正则表达式结合,所以我需要它是否定的

</?(p)b[^<>]*>

这是一个操场https://regex101.com/r/4OlCyb/1

你差一点。只需将所有不应该出现在链接中的字符添加到[^s]+:

'http://google.com/?q=search<p>dfgdfg</p>'.match(/(?:https?://|www.)[^s<]+/)

匹配:

http://google.com/?q=search

您可以根据需要添加额外的字符[^s<]+

最新更新