我正在尝试为代码计数工具 cloc
编写一些自定义定义,但不幸的是正则表达式不是我的强项 .
我正在努力编写一个正则表达式,它将匹配在 {
或 }
之前和/或之后只包含空格的行
我还需要匹配包含空格的行和 }
,后跟关键字 else
即在以下样本中:
1 if ( some condition ) {
2 do something
3 } else if ( some other condition ) {
4 do this
5 } else {
6 do this
7 }
8
9 if ( some other condition )
10 {
11 do this
12 }
我需要一个匹配第5,7,10和12行的正则表达式 .
我从一个非常简单的 \s*{
开始,但这也与包含单词的行匹配 .
2 回答
此正则表达式遵循您概述的规范:
它匹配包含以下内容的行:
0
或更多空格,后跟{
或}
,后跟0或更多空格要么
0
或更多空格,然后是}
,然后是0
或更多空格,然后是else
,然后是任何空格 .以下正则表达式将匹配由以下更多实例组成的行:
whitespaces
,{
,_1188411_或单词else
组件,但没有别的: