Мне нужно найти «FE45» между позициями 10-31, а затем заменить символ с 3-го по 6-й на zzzz.

Пример файла:

123AAA345FE45D
234BBB335DDFFFEEDFE45E
345CCC234ERFDF3FR06G

Мое желание :-)

123000345FE45D
234000335DDFFFEEDFE45E
345000234ERFDF3FR06G

Как я могу изменить это выражение, чтобы получить вышеуказанные результаты?

Заранее спасибо!

2 ответа2

2
  • Ctrl+H
  • Найти что: ^...\K...(?=.{0,27}FE45)
  • Заменить на: 000
  • проверить соответствие матча
  • проверить обернуть
  • проверьте регулярное выражение
  • НЕ ПРОВЕРИТЬ . matches newline
  • Заменить все

Объяснение:

^           : beginning of line
...         : 3 any character but newline
\K          : forget what we have seen until this position
...         : 3 any character but newline
(?=         : lookahead, zero length assertion, make sure we have after this position
  .{0,27}   : 0 up to 27 any character but newline
  FE45      : literally FE45
)           : end lookahead

Результат для данного примера:

123000345FE45D
234000335DDFFFEEDFE45E
345CCC234ERFDF3FR06G
1

Используйте () для создания групп, на которые вы можете ссылаться в порядке их появления.

Найти:

(b490)(.{2})(.{5})

Заменить:

\1\2ZZZZZ

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .