在正则表达式中匹配任意字符,但排除特定字符
你需要匹配一篇文章中所有图片,但排除引号 (“)。你的原始尝试是:
$pattern = "/@@##@@/i";
但添加了排除引号的规则后,它就不再匹配了。
解决方法是使用正则表达式的否定组概念。否定组允许你匹配不包含特定字符的字符串。在你的情况下,你希望匹配不包含引号的子串,因此修改后的正则表达式为:
@@##@@]+)
其中 [^”‘>] 表示不包含引号、单引号或大于号的字符的子串。
更新的正则表达式解释:
: 匹配 标签的开头。.*?: 匹配尽可能少的任意字符(惰性匹配)。s: 匹配一个空格。src=: 匹配 src= 属性。(?:[“‘]?): 匹配可选的引号或单引号(捕获组 1)。[^”‘>] : 匹配不包含引号、单引号或大于号的一个或多个字符(捕获组 2)。
通过使用否定组,你可以匹配所有 元素,同时排除引号。
以上就是正则表达式如何匹配图片链接并排除引号?的详细内容,更多请关注范的资源库其它相关文章!
转载请注明:范的资源库 » 正则表达式如何匹配图片链接并排除引号?