我想找到任何代码行,其中 }
后面是中断,然后是/**.
}
/**
我不想找到代码行,其间有空行。
NOT:
}
/**
我发现自己无法写出这样的正则表达式。
我认为它会像}\n\/\*\*
一样简单,但这并不起作用。
我需要这样才能在使用IntelliJ的Java类中找到糟糕的格式化。
答案 0 :(得分:2)
这应该这样做
<强> \s*(\}\n\h\s*\/\*{2})
强>
<强> https://regex101.com/r/hoCOdF/3 强>
\}
字面匹配(区分大小写)
\n
匹配换行符(换行符)(ASCII 10)
\/
匹配字符/字面(区分大小写)
的 \*{2}
强>
匹配字符*字面意思(区分大小写) - {2}
量词 - 准确匹配2次
\h
匹配任何水平whitespace
字符(等于 [[:blank:]]
)
答案 1 :(得分:1)
问题是您必须在新行之后考虑空格,请执行此操作
}\n\h*\/\*\*
}
字面匹配(区分大小写)
\n
匹配换行符(换行符)(ASCII 10)
\h
匹配任何水平空白字符(等于[[:blank:]])
正则表达式匹配的图像
注意强>
要查找代码中的格式问题,您可以使用插件。查看http://www.sonarlint.org/。
答案 2 :(得分:1)
如果您的文件是在Windows }[\n\r]\/\*\*
编辑:使用此选项在中断和{:之间包含空格和制表符
}[\n\r]( |\t)+\/\*\*
答案 3 :(得分:0)
你可以使用具有正向前瞻性的正则表达式:
\}(?=\n[^\n]*\/\*\*)
<强> Working demo 强>
由于您使用IntelliJ进行了标记,因此您可以在下面找到正则表达式的屏幕截图