Блокнот ++ regex для нахождения 3 последовательных чисел

Я пытаюсь использовать Notepadd ++ для нахождения всех случаев width=xxx, таким образом, я могу изменить их на ширину = "xxx"

насколько я имею, ширина = [^\\n], который только выбирает width=x

21
задан Anthony Forloney 22 April 2010 в 16:08
поделиться

4 ответа

Если вам нужно ровно 3 числа, в Notepad ++ проверяется следующее:

width=\d\d\d[^\d]

Дальнейшее чтение вашего требования , вы можете использовать функцию тегов:

Find what:    width=(\d\d\d)([^\d])
Replace with: width="\1"\2

Здесь (n) заключенные в квадратные скобки части регулярного выражения сохраняются (последовательно) как \ 1, \ 2, ... \ n, на которые можно ссылаться в поле замены.

Notepad ++ плохой механизм регулярных выражений. Здесь - описание того, что поддерживается. Довольно простой.

29
ответ дан 29 November 2019 в 19:59
поделиться

Пробовал: замените width = ([0-9] [0-9] [0-9]) на width = "\ 1" и работает нормально ... Конечно, может и не быть лучший синтаксис для этого, но он работает ...

2
ответ дан 29 November 2019 в 19:59
поделиться

Если посмотреть на список регулярных выражений Notepad ++ , похоже, что нотация {n} не соответствует символам n , поэтому \ d {3} не сработало.

Однако то, что сработало для меня и может считаться взломом, было: \ d \ d \ d

Протестировано в Notepad ++ и сработало для использования поля «Найти» (\ d \ d \ d) и для поля замены используйте "\ 1" \ 2 .

10
ответ дан 29 November 2019 в 19:59
поделиться
/(width=)(\d+?)/gim

Потому что вам могут понадобиться переменные цифры. Некоторые значения ширины могут составлять 8, 15, 200 или что-то еще.

Если вы хотите указать диапазон, вы делаете это следующим образом:

/(width=)(\d{1,3)/gim

где 1 представляет нижний предел, а 3 - верхний.

Я сгруппировал обе части выражения, поэтому при замене вы можете оставить первую часть и не сдуть ее.

2
ответ дан 29 November 2019 в 19:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: