2016-10-06 9 views
0

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

Я это

<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" т.д.

Любая помощь будет очень признателен

+0

На какой языковой среде вы используете? JavaScript? – trincot

+0

Я использую Caliber (редактор для электронных книг), поэтому мне просто нужны регулярные выражения, чтобы использовать их в опции «Найти и заменить» – Antonia

+0

Нет возможности нумерации с регулярным выражением, поэтому вам, вероятно, стоит взглянуть на изменение источника вашего данные. Я добавил тэг 'calibre' к вашему вопросу - это очень важная информация. – trincot

ответ

0

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

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

с этим замена:

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

Посмотри это online.