用于C注释的Perl样式正则表达式

时间:2011-09-26 13:57:46

标签: c regex comments

在工作中,我需要为C注释(/ *)创建一个perl样式的正则表达式,用于我们代码中留下的注释。我们的业务分析师有新的要求,这些都是以“BA”开头,我应该以某种方式扫描评论以找到这些实例。我对正则表达式非常不熟悉,在阅读了更多关于它们之后,我很遗憾如何只用BA字符串来定位注释块。

非常感谢任何指导。

2 个答案:

答案 0 :(得分:3)

我不知道C评论的任何奇怪的转义规则,所以我想你只想要这样的东西:

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

s标志表示.也会匹配回车符,因此注释可以跨越多行。

要仅匹配以“BA”开头的评论,您需要:

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

如果“BA”部分可以是小写,请考虑添加i标记。

答案 1 :(得分:0)

find . -regex ".*\.[ch]" | xargs grep -regex "/\* *BA"

这是做什么的:

  • 查找所有C源文件和头文件。
  • 在每个文件中搜索“/ *”,后跟任意数量的空格,后跟“BA”。