Html regex linkify URL忽略现有链接
我构建了一个正则表达式,在URL周围放置一个锚标记,如下所示:Html regex linkify URL忽略现有链接,html,regex,Html,Regex,我构建了一个正则表达式,在URL周围放置一个锚标记,如下所示: http://www.google.com https://www.google.com http://google.com 它忽略大小写,也忽略链接中已有的URL,例如: <a href="hTTP://www.google.com">HttP://www.google.com</a> www.google.com 我保存的正则表达式可以在此处查看和调整: 下面是实际的正则表达式: (?i)(?&l
http://www.google.com
https://www.google.com
http://google.com
它忽略大小写,也忽略链接中已有的URL,例如:
<a href="hTTP://www.google.com">HttP://www.google.com</a>
www.google.com
我保存的正则表达式可以在此处查看和调整:
下面是实际的正则表达式:
(?i)(?<!")http(s)?:\/\/([a-zA-Z0-9\\~\\!\\@\\#\\$\\%\\^\\&\\*\\(\\)_\\-\\=\\+\\\\\\\/\\?\\.\\:\\;\\'\\,]*+)(?!<\/a>)
(?i)(?你可以试试这个:
((?:http?)(:\/\/)((?:www\)([\w-]+)(\)(com)
细分:
((?:http?(:\/\/))?
-http
上的可选匹配,https
加上://
,但不单独匹配://
(((?:www\)?)
-在www.
([\w-]+)
-匹配一个或多个[a-zA-Zè]和连字符-这是针对google
部分的(\)
-在谷歌
和com
之间匹配一个
(com)
-只需匹配com
部分即可http://www.google.com
https://www.google.com
http://google.com
https://google.com
www.google.com
www.google-blah.com
仅部分匹配:
://www.foo.com
http://sub.domain.com
保存在此处:
花式图表:
您可以试试这个:
((?:http?)(:\/\/)((?:www\)([\w-]+)(\)(com)
细分:
-http上的可选匹配,((?:http?(:\/\/))?
加上https
,但不单独匹配://
://
-在(((?:www\)?)
www.
-匹配一个或多个[a-zA-Zè]和连字符-这是针对([\w-]+)
部分的google
-在(\)
和谷歌
之间匹配一个com
-只需匹配(com)
部分即可com
http://www.google.com
https://www.google.com
http://google.com
https://google.com
www.google.com
www.google-blah.com
仅部分匹配:
://www.foo.com
http://sub.domain.com
保存在此处:
花式图表:
您没有说您使用的是哪种风格的正则表达式。希望是使用负查找的东西,如PCRE: 结合并扩展前面的答案:
(?<!["']>|["'])(?:(?:https?:\/\/)|(?<!\/\/)www\.|(?:https?::\/\/)www\.)(?:\w+\.)+\w+(?:\/[a-z0-9-._~:\/?#[\]@!$&'()*+,;=%]*)?
(?
在这里玩:
这应该适用于各种各样的URL和域名,并且与以前链接的URL不匹配。您没有说您使用的是哪种风格的正则表达式。希望使用负查找功能,如PCRE:
结合并扩展前面的答案:
(?<!["']>|["'])(?:(?:https?:\/\/)|(?<!\/\/)www\.|(?:https?::\/\/)www\.)(?:\w+\.)+\w+(?:\/[a-z0-9-._~:\/?#[\]@!$&'()*+,;=%]*)?
(?
在这里玩:
这应该适用于各种各样的URL和域名,与以前链接的URL不匹配。谢谢你的分解和图表。对我这样的regex neophites非常有用。谢谢你的分解和图表。对我这样的regex neophites非常有帮助。这对我的需要非常有用。但是,它怎么能呢扩展到与以下内容匹配:testmedia.company.com/books/123456/789456/contents.html输入越通用,就越有可能发现误报。请随意使用“www”仔细的部分。这非常适合我的需要。但是,如何将其扩展到与以下内容相匹配:testmedia.company.com/books/123456/789456/contents.htm您输入的内容越通用,就越有可能发现误报。请小心地摆弄“www\”部分。