正则匹配img src遇到个问题,如何匹配src不带http的结果?

如何匹配src中不带http的所有img

目前使用正则:<img.*?src="(.*?)".*?>

匹配结果:

clipboard.png
clipboard.png

需要匹配的段落:

<p>在正方体<img src="https://www.abcd1234.com/20181222/1545460794504711.png" title="1545460794504711.png" alt="图片.png"/>中,E为棱CC<sub>1</sub>的中点,则异面直线AE与CD所成角的正切值为<br/>A.<img src="/uploads/20181222/1545460825799217.png" title="1545460825799217.png" alt="图片.png"/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; B.<img src="/uploads/20181222/1545460832908668.png" title="1545460832908668.png" alt="图片.png"/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; C.<img src="/uploads/20181222/1545460840101809.png" title="1545460840101809.png" alt="图片.png"/> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; D.<img src="/uploads/20181222/1545460849590046.png" title="1545460849590046.png" alt="图片.png"/></p><p><br/></p>
阅读 4.3k
6 个回答

/<img[^>]+src="(?:(?!(https|http))[^>]+)>/g

匹配不带http的结果 !/^<img.*http/.test(url)

/<img.*?src="((?!https|http)\S+)"\s+\/>/

转换下思路,匹配相对的path(以/)开头就可以了。

<img[^\>]*?src=\"\/([^\:]*?)\".*?\/>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题