Двоеточие в регулярном выражении Visual Studio

#regex #visual-studio #colon

#регулярное выражение #visual-studio #рефакторинг

Вопрос:

Я понимаю, что двоеточие является специальным символом в версии регулярных выражений Visual Studio, и поэтому его необходимо экранировать, но у меня возникли проблемы с созданием регулярного выражения, которое необязательно включало бы одно двоеточие.

Я хотел добавить новый параметр к виртуальной функции (который был переопределен во МНОГИХ классах).

Итак, я хотел найти все места, где имя функции появляется в файлах заголовков (где оно объявлено, т. Е. без какого-либо оператора разрешения области видимости), и все места, где оно появляется в файлах .cpp после имени производного класса и оператора разрешения области видимости.

(Затем я бы выполнил отдельный поиск и замену, чтобы перехватить все места, где оно вызывается).

Я подумал что-то вроде

 FIND 
{:?Foobar( }{int FirstParamBeforeMyChange}

REPLACE WITH
1char MyNewFirstParam, 2
  

выполнило бы эту работу. Но у меня не было радости.

Кто-нибудь может сказать мне о моей ошибке или как это сделать?

Спасибо, G.

Ответ №1:

Для заключения групп нужно использовать обычные скобки () , а не фигурные {} . Вам нужно будет экранировать левую скобку, которая у вас есть как Foobar( .