
Мне нужно найти «FE45» между позициями 10-31, а затем заменить символ между 3-й и 6-й на zzzz.
Пример файла:
123AAA345FE45D
234BBB335DDFFFEEDFE45E
345CCC234ERFDF3FR06G
Мое желание :-)
123000345FE45D
234000335DDFFFEEDFE45E
345000234ERFDF3FR06G
Как мне изменить это выражение, чтобы получить указанные выше результаты?
Заранее спасибо!
решение1
Используйте ()
для создания групп, на которые затем можно ссылаться по порядку их появления.
Находить:
(b490)(.{2})(.{5})
Заменять:
\1\2ZZZZZ
решение2
- Ctrl+H
- Найти то, что:
^...\K...(?=.{0,27}FE45)
- Заменить:
000
- проверить Соответствие регистру
- проверить Обернуть вокруг
- проверить Регулярное выражение
- НЕ ПРОВЕРЯТЬ
. matches newline
- Replace all
Объяснение:
^ : 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