Notepad++ Regex 仅在替换时丢失数字

Notepad++ Regex 仅在替换时丢失数字

我对 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是第二对括号内的内容,等等。

如果您不确定其他符号的含义,请用 Google 搜索“正则表达式”。

相关内容