Notepad++ 正規表示式僅在替換時漏掉數字

Notepad++ 正規表示式僅在替換時漏掉數字

我對 Notepad++ 和正規表示式相當陌生,我真的很難解決這個問題

0:6[105][56]
0:6[105][55]
0:6[105][54]
0:6[104][53]

?:?[??][??] -> 其中數字可以是任何值

我嘗試過使用查找:

  • 尋找(:)|(])
  • 替換 (][)|(->connectedwaypoints.push_back)

這似乎不起作用

下面是我想要的結果。

WarpPoints[0]->paths_connected[6]->connectedwaypoints.push_back(HiFiWaypoints[105][56]);


WarpPoints[?]->paths_connected[?]->connectedwaypoints.push_back(HiFiWaypoints[?][?]);

?可以是任何給定的數字,我不想替換數字,而是替換其他所有內容。

答案1

試著去找:

([0-9]):([0-9])(\[[0-9]+\]\[[0-9]+\])

並替換為

WarpPoints[\1]->paths_connected[\2]->connectedwaypoints.push_back\(HiFiWaypoints\3\)\;

且搜尋模式應該是“正規表示式”。

解釋:

  • 對於查找部分,[0-9]表示任意數字,\[分別\]表示符合任意[](並將)“替換為”中提到的括號內的任何內容替換為等\1 \2

  • 對於替換部分,它是非常不言自明的,\1第一對括號內的內容在哪裡,\2第二對括號內的內容等等。

如果您不確定其他符號的含義,請搜尋「正規表示式」。

相關內容