匹配空src属性图片标签的正则表达式怎么写?
匹配空src属性的IMG标签正则方案
针对你需要移除所有带空src属性的IMG标签(支持任意属性顺序、随机换行、不同大小写),可以使用以下正则表达式:
核心正则(适配带引号的空src)
(?i)<IMG\s*[\s\S]*?src\s*=\s*(["'])\1[\s\S]*?>
正则各部分解释
(?i):开启不区分大小写模式,能匹配<img>、<IMG>、<Img>等各种大小写形式的标签<IMG\s*:匹配IMG标签的开头,允许标签名后跟随任意空白字符(空格、换行、制表符都算)[\s\S]*?:非贪婪匹配任意字符(包括换行),直到找到src属性,避免跳过其他标签内容src\s*=\s*:匹配src属性名,允许属性名与等号、等号与值之间存在任意空白(["'])\1:匹配一对相同的引号(双引号或单引号),且引号内没有内容(空值)[\s\S]*?>:匹配标签内剩余的所有内容(包括其他属性和换行),直到标签闭合的>
扩展:支持不带引号的空src
如果需要处理src=这种不带引号的空属性写法,可调整正则为:
(?i)<IMG\s*[\s\S]*?src\s*=\s*(["'])?\s*(?(1)\1|)[\s\S]*?>
使用提示
- 在文本编辑器(如VS Code、Notepad++)中,直接将上述正则填入查找框,替换框留空即可批量移除这类标签
- 注意:正则处理HTML并非绝对完美,若文件中存在注释内的IMG标签或异常嵌套结构,可能出现误匹配,但针对常规的单标签IMG场景完全够用
内容的提问来源于stack exchange,提问作者Patlatus
相关产品推荐
相关产品推荐

