Notepad++:如果文字檔案中第 4-8 個字元包含“B490”,則取代第 10 個字符

Notepad++:如果文字檔案中第 4-8 個字元包含“B490”,則取代第 10 個字符

我需要在位置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

相關內容