Notepad++ Regex пропускает только числа при замене

Notepad++ Regex пропускает только числа при замене

Я новичок в Notepad++ и регулярных выражениях, и мне действительно сложно решить эту проблему.

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

?:?[??][??] -> где числа могут быть любыми

Я пробовал использовать Find:

  • Найти (:)|(])
  • Заменить (][)|(->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и т. д.

  • Что касается части replace with, то все довольно очевидно: где \1находится содержимое в первой паре скобок, \2где находится содержимое во второй паре и т. д.

Если вы не уверены в значении других символов, введите в Google «регулярное выражение».

Связанный контент