Os números perdidos do Notepad ++ Regex apenas em substituição


1

Sou razoavelmente novo no Notepad ++ e em expressões regulares. Estou com muita dificuldade para resolver esse problema

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

?:? [??] [??] -> onde números podem ser qualquer coisa

Eu tentei usar o Find:

  • Encontrar (:) | (])
  • Substitua (] [) | (-> connectedwaypoints.push_back)

Isso não parece funcionar

abaixo está o 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, quero não substituir os números, mas todo o resto.


@ McDonald's, meu formato / resultado esperado é WarpPoints [0] -> caminhos_conectados [6] -> connectedwaypoints.push_back (HiFiWaypoints [105] [56]);
RNewell122

@ McDonald's Está tudo bem, você tem alguma idéia de como?
precisa saber é o seguinte

Respostas:


1

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 o componente de procura, [0-9]significa qualquer dígito, \[e \]significa para combinar com qualquer [e ], respectivamente. (e )fará qualquer coisa dentro dos parênteses referidos em "substituir por" como \1 \2etc.

  • Para substituir por peça, é bastante autoexplicativo, onde \1está o conteúdo dentro do primeiro par de parênteses, \2sendo o conteúdo dentro do segundo par, etc.

Pesquise no Google sobre "expressão regular" se não tiver certeza do significado dos outros símbolos.


Isso funcionou obrigado! Eu estava tentando fazer isso pouco a pouco e demorava muito tempo para esquecer \ é frequentemente usado em muitos idiomas para [usar símbolos, é aí que eu estava errado.
precisa saber é o seguinte
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.