我想制作一个匹配所有相关补丁的正则表达式模式。
我要匹配的内容:
img src="image.png" img src="http_image.png"
我不想匹配的内容:
img src="http://example/image.png"
我尝试匹配这些模式,但它们都不起作用:
\src="[^http://]\ \src="^(http://)\ \src="[^h][^t][^t][^p][^:][^/][^/]\ \src="([^h][^t][^t][^p][^:][^/][^/])\
我把 <> 去掉了 img-tag,因为否则我不能把它写成代码。
src 属性将始终使用双引号 (") 而不是单引号 (')。
它总是包含一个“http”源,而不是“https”或其他。
最佳答案
解决这个问题的方法是使用否定的前瞻断言:
^img src="(?!http:\/\/\S+).*"$
^ : Start anchor
img src=" : Literal img src="
(?!http:\/\/\S+) : To ensure the string following " is not a URL
.* : Anything else is allowed
" : Literal "
$ : End anchor
关于regex - 有没有办法在正则表达式中使用 not (^) 来处理多个字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5163818/