
在正则表达式中匹配任意字符,但排除特定字符
你需要匹配一篇文章中所有图片,但排除引号 (")。你的原始尝试是:
$pattern = "/<img.*src=['\"](.*?)\/?>/i";
但添加了排除引号的规则后,它就不再匹配了。
解决方法是使用正则表达式的否定组概念。否定组允许你匹配不包含特定字符的字符串。在你的情况下,你希望匹配不包含引号的子串,因此修改后的正则表达式为:
<img.*?\ssrc=(?:["']?)([^"'>]+)
其中 [^"'>] 表示不包含引号、单引号或大于号的字符的子串。
更新的正则表达式解释:
通过使用否定组,你可以匹配所有 <img> 元素,同时排除引号。
以上就是正则表达式如何匹配图片链接并排除引号?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号