Подтвердить что ты не робот

Notepad ++ regex, чтобы найти 3 последовательных номера

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

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

4b9b3361

Ответ 1

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

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

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

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

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

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

Ответ 2

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

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

Протестировано в Notepad++ и работало для использования в поле Find (\d\d\d) и для использования в поле Replace "\1"\2.

Ответ 3

Как отметил Дао, с версии 6 Notepad ++ поддерживает PCRE.

Итак, теперь вы можете написать:

\d{1,5}

Ответ 4

/(width=)(\d+?)/gim

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

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

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

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

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

Ответ 5

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

Ответ 6

Я хотел бы попробовать это: width=(\d{3,}), и проверить регулярное выражение, а также. соответствует новой строке

работает для меня на версии: 7.5.4