Notepad ++ регулярное выражение для поиска и замены с исключениями - PullRequest
4 голосов
/ 22 января 2010

Я новичок в regexp, и я хотел бы знать, как выполнить поиск и заменить следующий случай:

Файл содержит много случаев следующего:

L1234_XL3.ext

, а также множество случаев:

L1234_XL3

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

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

Ответы [ 2 ]

4 голосов
/ 22 января 2010

Если Notepad ++ поддерживает прогнозирование, вы можете просто использовать L1234_XL3(?!\.ext) для поиска и «XL3» для замены.

РЕДАКТИРОВАТЬ: Похоже, что он не поддерживает прогнозирования в конце концов. Жалость; вам придется сделать это трудным путем без регулярных выражений (регулярное выражение?):

  1. Заменить L1234_XL3.ext на QQQ (или любую другую строку, отсутствующую в файле)
  2. Заменить L1234_XL3 на XL3.
  3. Заменить QQQ на L1234_XL3.ext.
2 голосов
/ 22 января 2010

Шаг 1. Измените все вхождения L1234_XL3.ext на L-1-2-3-4_XL3.ext (например)

Шаг 2. Измените все вхождения L1234_XL3 на XL3

Шаг 3. Измените все вхождения L-1-2-3-4_XL3.ext обратно на L1234_XL3.ext

Насколько я понимаю, Notepad ++ 5.4.5 не поддерживает позитивный прогноз

...