正则表达式替换包含增量值的字符串

时间:2016-10-06 12:32:46

标签: html regex string alt calibre

我正在尝试创建一个正则表达式,以替换图像标记内的alt属性,对于所有图像,包括文本和数字,从1开始并计算所有图像 - (将始终是3位数字)

我有这个

<img class="class1" src="image1.png" alt="sel5.tif"/>
<img class="class2" src="image2.png" alt="7.tif"/>
<img class="class3" src="image3.png" alt="whatever.tif"/>

我希望这是一个输出

<img class="class1" src="image1.png" alt="image_1"/>
<img class="class2" src="image2.png" alt="image_2"/>
<img class="class3" src="image3.png" alt="image_3"/> 

我写了这个alt=(['"].*?[^"]*\")似乎正在寻找alt="anything",但我在替换alt="image_1"等方面遇到了麻烦。

非常感谢任何帮助

1 个答案:

答案 0 :(得分:0)

您可以使用此正则表达式:

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

有了这个替代品:

$1$2 alt="$3_$4$5" />

online