我正在编写一个代码格式化程序,我需要一些帮助。我必须找到代码块并且我想使用正则表达式。我需要格式化的代码基本上是这样的:
KEYWORD name {
word
word
...
}
我能够使用以下表达式找到以 { 开头并以 } 结尾的 block :
[{](.*?)[}]
但我不知道如何将 "KEYWORD name"
部分添加到表达式中。两者都是自定义字符串,可以包含除 ;
、{
和 }
之外的任何字符。
另一个问题是我的代码块可以嵌套。我不知道如何添加该功能。
最佳答案
你可以这样做:
KEYWORD name {.*?}
由于您希望 .
也匹配换行符,因此您必须使用多行模式。
因为KEYWORD
和name
都是任意字符串,可以包含除;
之外的任何字符 ,
{
和 }
:
[^;,{}]+\s+[^;,{}]+\s*{.*?}
关于java - 用于查找嵌套代码块的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4223601/