Регулярное выражение заменить строку, которая включает в себя добавочное значение

Я пытаюсь создать регулярное выражение для замены атрибута alt внутри тега изображения для всех изображений, которые будут содержать текст и число, начиная с 1 и считая все изображения - (который всегда будет трехзначным числом)

у меня есть это

<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 ответ

Вы можете использовать это регулярное выражение:

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

с этой заменой:

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

Смотрите это онлайн.

Другие вопросы по тегам