Использование регулярных выражений для просеивания дерева исходного кода для поиска случаев вызова функции
Вместо того, чтобы открывать кучу файлов решений в VS2010 и затем искать вхождения / ссылки на вызов функции, я бы предпочел просто использовать регулярное выражение. Я мог бы сделать это в два прохода - сначала grep для всех случаев MyFunction()
, затем удалите все вхождения, где он находится в закомментированной строке (примечание: я понимаю, что это не обрабатывает комментарии блока, и пока все в порядке).
Я хотел посмотреть, есть ли лучший способ сделать это, и на сайте регулярно-expressions.info есть интересное руководство по позитивным и негативным прогнозам и прогнозам.
Используя мой любимый онлайн- анализатор регулярных выражений, я рассмотрел следующие примеры:
// foo.MyFunction()
foo.MyFunction();
foo.MyFunction()
//foo.MyFunction()
// { foo.MyFunction(); }
но с треском провалился. Я даже не уверен, что то, что я пытаюсь сделать, возможно с негативными взглядами. Вот то, что я думал, может сработать:
(?<!//.*)MyFunction\(\)
Но это не соответствует... может ли кто-нибудь просветить меня здесь?