我有这个RegEx表达式来匹配 http:// 链接一样的文本部分:
([A-Za-z]{3,9}):\/\/([-;:&=\+\$,\w]+@{1})?([-A-Za-z0-9\.]+)+:?(\d+)?(\/[-\+~%\/\.\w]+)?\??([-\+=&;%@\.\w]+)?#?([\w]+)?
然后将它们转换为带有一些代码的超链接。它真的很好用。
然而,http://文本的一部分可以在< img>标签也是:
<img src="http://www.nature.com/images/home_03/main_news_pic2013.02.19.jpg" alt="Pulpit rock" width="304" height="228">
所以,我必须修改现有的RegEx,以便不匹配带引号或撇号的http链接式文本部分。怎么不匹配:
"http
我尝试了[^“|']:
[^"|']([A-Za-z]{3,9}):\/\/ ..........
但它不起作用。
答案 0 :(得分:2)
你需要使用负面的lookbehind(即“not before with”):
(?<!")http://…