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

如何用正则提取不含扩展名的文件名并为无alt图片设置alt属性?

正则提取图片src无扩展名文件名并替换空alt属性

核心需求

处理带有空alt属性的图片标签,从src属性中提取不含扩展名的文件名,并将其填充到空的alt中。

修正后的正则方案

针对你提供的HTML实体转义后的标签(如<、"),可以使用以下正则表达式:

/(<img.*?src=".*?\/)([^\/.]+)(\.[^\/"]+")(.*?alt="")(.*?>)/

替换模板为:

$1$2$3$4$2"$5

如果是处理原始HTML标签(无实体转义),正则和替换模板调整为:

/(<img.*?src=".*?\/)([^\/.]+)(\.[^\/"]+")(.*?alt="")(.*?>)/

替换模板:

$1$2$3$4$2"$5

正则逻辑说明

  • $1:匹配img标签开头到src属性中最后一个/的部分,比如&lt;img class=&quot;alignnone...&quot; src=&quot;http://localhost/wp-content/uploads/2015/02/
  • $2:捕获无扩展名的文件名,通过[^\/.]+匹配最后一个/之后、.之前的所有字符(即示例中的300x149-jquerymobile)
  • $3:捕获文件扩展名部分,包括.和后续内容直到&quot;,比如.jpg&quot;
  • $4:匹配空的alt属性部分alt=&quot;&quot;
  • $5:匹配标签剩余的内容直到闭合&gt;

效果演示

原标签:

&lt;img class=&quot;alignnone size-medium wp-image-18&quot; src=&quot;http://localhost/wp-content/uploads/2015/02/300x149-jquerymobile.jpg&quot; alt=&quot;&quot; width=&quot;300&quot; height=&quot;149&quot;&gt;

替换后:

&lt;img class=&quot;alignnone size-medium wp-image-18&quot; src=&quot;http://localhost/wp-content/uploads/2015/02/300x149-jquerymobile.jpg&quot; alt=&quot;300x149-jquerymobile&quot; width=&quot;300&quot; height=&quot;149&quot;&gt;

补充说明

该正则仅匹配alt属性为空的图片标签,不会覆盖已有有效alt内容;若需要处理没有alt属性的标签,可进一步调整正则匹配逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 06:55:23