Notepad++ Regex vermisst Zahlen nur beim Ersetzen

Notepad++ Regex vermisst Zahlen nur beim Ersetzen

Ich bin relativ neu bei Notepad++ und regulären Ausdrücken, ich habe wirklich Mühe, dieses Problem zu lösen

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

?:?[??][??] -> wobei Zahlen alles sein können

Ich habe versucht, die Suchfunktion zu verwenden:

  • Suchen (:)|(])
  • Ersetzen Sie (][)|(->connectedwaypoints.push_back)

Das scheint nicht zu funktionieren

unten ist mein gewünschtes Ergebnis.

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


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

? kann eine beliebige Zahl sein, ich möchte nicht die Zahlen ersetzen, sondern alles andere.

Antwort1

Versuchen, zu finden:

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

Und ersetzen durch

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

Und der Suchmodus sollte „Regulärer Ausdruck“ sein.

Erklärt:

  • Für den Suchteil [0-9]bedeutet „alle Ziffern“ \[und „alle“ bzw. „alle“ \]übereinstimmend . Außerdem wird alles innerhalb der Klammern, auf die in „Ersetzen durch“ verwiesen wird, zu usw. gemacht.[]()\1 \2

  • Der Teil „Ersetzen durch“ ist ziemlich selbsterklärend: Wo \1ist der Inhalt innerhalb des ersten Klammerpaars, wo \2ist der Inhalt innerhalb des zweiten Paars usw.

Bitte googeln Sie „regulärer Ausdruck“, wenn Sie nicht sicher sind, was die anderen Symbole bedeuten.

verwandte Informationen