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
\1
ist der Inhalt innerhalb des ersten Klammerpaars, wo\2
ist der Inhalt innerhalb des zweiten Paars usw.
Bitte googeln Sie „regulärer Ausdruck“, wenn Sie nicht sicher sind, was die anderen Symbole bedeuten.