Использование регулярных выражений для просеивания дерева исходного кода для поиска случаев вызова функции

Вместо того, чтобы открывать кучу файлов решений в VS2010 и затем искать вхождения / ссылки на вызов функции, я бы предпочел просто использовать регулярное выражение. Я мог бы сделать это в два прохода - сначала grep для всех случаев MyFunction(), затем удалите все вхождения, где он находится в закомментированной строке (примечание: я понимаю, что это не обрабатывает комментарии блока, и пока все в порядке).

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

Используя мой любимый онлайн- анализатор регулярных выражений, я рассмотрел следующие примеры:

  // foo.MyFunction()
foo.MyFunction();
    foo.MyFunction()
//foo.MyFunction()
// { foo.MyFunction(); }

но с треском провалился. Я даже не уверен, что то, что я пытаюсь сделать, возможно с негативными взглядами. Вот то, что я думал, может сработать:

(?<!//.*)MyFunction\(\)

Но это не соответствует... может ли кто-нибудь просветить меня здесь?

1 ответ

Сделал то же самое несколько раз

MyFunction\(\)(?<!.*//.*)

Онлайн тестер регулярных выражений

Другие вопросы по тегам