在工作中,我需要为C注释创建一个perl风格的正则表达式(/*),用于代码中留下的注释。我们的业务分析师有新的需求,这些需求都以"BA"开头,我应该以某种方式扫描评论以找到这些实例。我对正则表达式非常不熟悉,在阅读了更多关于它们的内容后,我迷失了如何仅使用BA字符串来定位注释块。
请指教。
我不知道C注释有什么奇怪的转义规则,所以我认为你只是想要这样的东西:
//*.*?/*/s
s
标志表示.
也将匹配回车,因此注释可以跨多行。
只匹配以"BA"开头的注释,你需要:
//*BA.*?/*/s
如果"BA"部分可以小写,可以考虑添加i
标志
find . -regex ".*.[ch]" | xargs grep -regex "/* *BA"
做什么:
- 查找所有的C源文件和头文件。
- 在这些文件中搜索"/*"后面跟着任意数量的空格,后面跟着"BA"。