我想清理代码并在代码块后添加空行。
例如:
if (foo)
{
DoFooStuff();
}
if (bar)
{
DoBarStuff();
}
else
{
try
{
MightThrowError();
}
catch (Exception ex)
{
LogError(ex);
}
}
MoreStuffToDo(true);
如果在if (bar)
之前有一个空行,我发现这段代码更容易阅读,所以你可以看到这里有两个不同的条件。因此,我希望匹配类似于第4行和第二行的所有情况,并添加新行。但是,在" else"," catch"之前,它不应该与大括号匹配。和第三行的第一行,它是嵌套块中的另一个大括号。
我在Visual Studio 2017中使用Find函数,我的代码是C#。我在上面的例子中得到的结果是:
if (foo)
{
DoFooStuff();
}
if (bar)
{
DoBarStuff();
}
else
{
try
{
MightThrowError();
}
catch (Exception ex)
{
LogError(ex);
}
}
MoreStuffToDo(true);
我尝试过以下正则表达式:
}[\r\n]\t*.
(即匹配一个紧密的大括号,一个换行符,然后是任意数量的标签,然后是任何非换行符。)
我还需要它来匹配空格和制表符(我如何制作它"或者#34;?)理想情况下我不需要匹配后面的花括号以及单词{{1 },else
和catch
。不过,我准备手动完成一些工作。
我正在寻找的是什么,如果是,那么正则表达式是什么?
答案 0 :(得分:0)
使用符号: | 适用于逻辑或正则表达式。例如:
}[\r\n][\t*|\s*].
应匹配任意数量的标签或任意数量的空格。但由于tab是一个空白字符,你可以使用
}[\r\n][\s*].