Notepad ++ regex, чтобы найти 3 последовательных номера
Я пытаюсь использовать Notepadd ++, чтобы найти все вхождения width = xxx, поэтому я могу изменить их на width = "xxx"
насколько мне известно, width = [^\n], который выбирает только width = x
Ответы
Ответ 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