php中文网

正则表达式如何匹配图片链接并排除引号?

php中文网

在正则表达式中匹配任意字符,但排除特定字符

你需要匹配一篇文章中所有图片,但排除引号 (")。你的原始尝试是:

$pattern = "/@@##@@/i";

但添加了排除引号的规则后,它就不再匹配了。

解决方法是使用正则表达式的否定组概念。否定组允许你匹配不包含特定字符的字符串。在你的情况下,你希望匹配不包含引号的子串,因此修改后的正则表达式为:

@@##@@]+)

其中 [^"'>] 表示不包含引号、单引号或大于号的字符的子串。

更新的正则表达式解释:

  • 正则表达式如何匹配图片链接并排除引号?: 匹配 正则表达式如何匹配图片链接并排除引号? 标签的开头。
  • .*?: 匹配尽可能少的任意字符(惰性匹配)。
  • s: 匹配一个空格。
  • src=: 匹配 src= 属性。
  • (?:["']?): 匹配可选的引号或单引号(捕获组 1)。
  • [^"'>] : 匹配不包含引号、单引号或大于号的一个或多个字符(捕获组 2)。

通过使用否定组,你可以匹配所有 正则表达式如何匹配图片链接并排除引号? 元素,同时排除引号。

正则表达式如何匹配图片链接并排除引号?正则表达式如何匹配图片链接并排除引号?

以上就是正则表达式如何匹配图片链接并排除引号?的详细内容,更多请关注php中文网其它相关文章!