1

Я довольно новичок в 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 ответ1

1

Попытаться найти:

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

И заменить на

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

И режим поиска должен быть "Регулярное выражение".

Разъяснение:

  • Для части поиска [0-9] означает любые цифры, \[ и \] означает соответствие любым [ и ] соответственно. ( и ) сделает что-либо внутри скобки, обозначенной в "заменить на" как \1 \2 и т. д.

  • Для замены на часть это довольно очевидно, где \1 - содержимое в первой паре скобок, \2 - содержимое во второй паре и т.д.

Пожалуйста, Google на "регулярное выражение", если вы не уверены, что означают другие символы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .