/ / Як знайти слово в рядку, що починається з певного рядка в Notepad ++ - регулярний вираз, блокнот ++

Як знайти слово в рядку, починаючи з певного рядка в Notepad ++ - regex, notepad ++

У Блокноті ++ є такі приклади даних:

ES value="tren";
FR value="train";
EN value="train";
PT value="tren";
DE value="Zug";

Я хочу вибрати і замінити слово "поїзд" у рядку, що починається з "EN". Чи можу я це зробити з RegEx?

Відповіді:

2 для відповіді № 1

Ви можете використовувати

Знайти що: ^(ENh.*")train(";)$
Замінити: $1NEW_WORD$2

Подробиці:

  • ^ - початок рядка
  • (ENh.*") - Захоплення 1 групи EN, горизонтальний пробіл, тоді будь-які знаки 0+, крім знаків розриву рядків, наскільки це можливо до останнього "...
  • train - буквально train підрядка
  • (";)$ - "; в кінці рядка.

введіть опис зображення тут


0 для відповіді № 2

Виходячи з відповіді #Wiktor Stribiżew, мені вдалося це таким чином:

Пошук: ^(ENs.*[^a-zA-Z0-9])Train([^a-zA-Z0-9].*)$

Подробиці:

  • ^ Початок рядка
  • ENs "EN", за яким пробіл
  • .* Щось
  • [^a-zA-Z] Останнім символом перед словом не повинно бути буквою, це уникає заміни слова у випадках, таких як "мінусипоїздт "
  • Trainслово шукали
  • Решта рядка слідує тій же логіці, за винятком $, що якраз вказує на кінець рядка.

Замінити: 1Boat2

Подробиці:

  • 1 і 2 посилаються на круглі дужки з пошуку вище. Тому я залишаю результат пошуку дужок таким, яким він є, лише змінюючи частину "Потяг".

Я не впевнений, чому синтаксис іншої відповіді не працював для мене в Notepad ++, але це спрацювало.

Сподіваюся, це допоможе.