我有正文和正则表达式
文字就像是
foo https://www.google.hu <img ... src="http://a-page.com/foobar.jpg" ...> bar
正则表达式
/(http|https|ftp)\:\/\/(www\.)?([a-zA-Z0-9\-\_\.]+)\.([a-z]{1,5}+)\/([a-zA-Z0-9\.\?\=\&\-\_\~\/\%\+\;]+)?(\#([a-zA-Z0-9\_]+))?/i
我会用特殊情况更新它
如果url以src开头=“如果正则表达式匹配不会包含图像网址只有其他网址
我试过这个
/(?!src\=\")(http|https|ftp)\:\/\/(www\.)?([a-zA-Z0-9\-\_\.]+)\.([a-z]{1,5}+)\/([a-zA-Z0-9\.\?\=\&\-\_\~\/\%\+\;]+)?(\#([a-zA-Z0-9\_]+))?/
但它不起作用
请问你能帮帮我吗?
我知道我可以添加(^ | \ s)到模式,但是当我想要隐藏url时它将无法工作因为用户可以在url之前写任何char并且url不再被隐藏和其他一些正则表达式代码也在源代码中,其中一个是img bb标记代码,我不想隐藏(替换)它的url
(对不起我的英文)
答案 0 :(得分:1)
说实话,我很难理解你想要什么,但我想你的意思是你有一个包含各种URL的文本,你不想匹配html img
中包含的那些标签。如果是这样,试试这个:
/(?<!src\=\")(https?|ftp):\/\/(www\.)?([\w\-\.]+)\.([a-z]{1,5}+)\/?([\w\.\?\=\&\-\~\/\%\+\;]+)?(\#(\w+))?/
注意: