Регулярное выражение в стиле Perl для комментариев C - PullRequest
2 голосов
/ 26 сентября 2011

На работе у меня есть требование создать регулярное выражение в стиле Perl для комментариев C (/ *) для комментариев, оставленных в нашем коде. У наших бизнес-аналитиков были новые требования, и все они были предваряены «BA», и я должен как-то сканировать комментарии, чтобы найти эти примеры. Я очень незнаком с регулярными выражениями, и после прочтения о них я заблудился о том, как нацеливать блоки комментариев только со строкой BA.

Любое руководство будет с благодарностью.

Ответы [ 2 ]

3 голосов
/ 26 сентября 2011

Мне не известны какие-либо странные экранирующие правила для комментариев C, поэтому я думаю, что вы просто хотите что-то вроде этого:

/\/\*.*?\/\*/s

Флаг s означает, что . также будет соответствоватьвозврат каретки, поэтому комментарии могут пересекать несколько строк.

Чтобы соответствовать только комментариям, начинающимся с "BA", вам нужно:

/\/\*BA.*?\/\*/s

Рассмотреть возможность добавления флага i, еслиЧасть "BA" может быть строчной.

0 голосов
/ 26 сентября 2011
find . -regex ".*\.[ch]" | xargs grep -regex "/\* *BA"

Что это делает:

  • Найдите все ваши исходные и заголовочные файлы на языке C.
  • Найдите в каждом из этих файлов «/ *», затем любой пробел, затем «BA».
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...