Sou razoavelmente novo no Notepad++ e nas expressões regulares, estou realmente lutando para resolver esse problema
0:6[105][56]
0:6[105][55]
0:6[105][54]
0:6[104][53]
?:?[??][??] -> onde os números podem ser qualquer coisa
Eu tentei usar o Find:
- Encontrar (:)|(])
- Substituir (][)|(->connectedwaypoints.push_back)
Isso não parece funcionar
abaixo está o meu resultado desejado.
WarpPoints[0]->paths_connected[6]->connectedwaypoints.push_back(HiFiWaypoints[105][56]);
WarpPoints[?]->paths_connected[?]->connectedwaypoints.push_back(HiFiWaypoints[?][?]);
? pode ser qualquer número, não quero substituir os números, mas todo o resto.
Responder1
Tente encontrar:
([0-9]):([0-9])(\[[0-9]+\]\[[0-9]+\])
E substitua por
WarpPoints[\1]->paths_connected[\2]->connectedwaypoints.push_back\(HiFiWaypoints\3\)\;
E o modo de pesquisa deve ser “Expressão regular”.
Explicado:
Para a parte de localização,
[0-9]
significa qualquer dígito\[
e\]
significa corresponder a qualquer um[
e]
respectivamente.(
e)
fará com que qualquer coisa entre parênteses seja referida em "substituir por" como\1
\2
etc.Para a parte substituir por, é bastante autoexplicativo, onde
\1
está o conteúdo entre parênteses,\2
sendo o conteúdo dentro do segundo par, etc.
Procure no Google "expressão regular" se não tiver certeza do que os outros símbolos significam.