You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#正则表达式适配单引号包裹的img标签src属性匹配

解决img标签单/双引号src属性的正则匹配问题

原正则<img.*?src=.*?"(?<src>([^"]*?))".*?>仅支持双引号包裹的src,遇到单引号时会匹配失败甚至错误捕获其他属性,修改后的正则可以同时兼容单/双引号:

<img\s+[^>]*?src=(['"])(?<src>.*?)\1[^>]*>

关键修改点说明:

  • <img\s+:强制匹配img标签后的空白字符,避免误匹配其他以img开头的字符串
  • [^>]*?:非贪婪匹配标签内的任意内容(除了标签结束符>),精准定位到src属性
  • (['"]):捕获单引号或双引号到临时分组,后续通过\1反向引用,确保前后引号一致
  • (?<src>.*?):非贪婪匹配src的实际内容,直到遇到和开头一致的引号,避免过度匹配
  • [^>]*>:匹配标签剩余内容直到标签结束

额外优化建议:

如果需要兼容HTML标签的大小写(比如<IMG>),可以在C#中使用RegexOptions.IgnoreCase选项:

var regex = new Regex(@"<img\s+[^>]*?src=(['""])(?<src>.*?)\1[^>]*>", RegexOptions.IgnoreCase);

这个正则能正确处理你提供的示例代码中,单引号包裹的tableau图片src,不会错误捕获tableauViz这类其他属性的内容。

内容的提问来源于stack exchange,提问作者FDB

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 20:27:09