
我需要在位置10-31之間搜尋“FE45”,然後將第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