我目前的尝试:
查找:(^$\n[\s]*.*\{|^$\n[\s]*.*@.*$)
替换:/***/$1
问题:除了javadoc样板没有缩进之外,其他都很好用。
我应该做什么样的改变来准确地表达它?
输入:
public class Main {
class innerClass {
int a;
int b;
@Override
private int goo() {
}
}
String a;
public static void main (String[] args) {
// blablabla
}
@Override
public int foo(int a) {
}
}
产出:
/***/
public class Main {
/***/
class innerClass {
int a;
int b;
/***/
@Override
private int goo() {
}
}
String a;
/***/
public static void main (String[] args) {
// blablabla
}
/***/
@Override
public int foo(int a) {
}
}
预期输出:
/***/
public class Main {
/***/
class innerClass {
int a;
int b;
/***/
@Override
private int goo() {
}
}
String a;
/***/
public static void main (String[] args) {
// blablabla
}
/***/
@Override
public int foo(int a) {
}
}
2条答案
按热度按时间qmelpv7a1#
你可以试试这个正则表达式
并将其替换为
它所做的本质上是在不遇到字段的情况下找到所有
{}
块(语句以;
结束),并将相同长度的/***/
放在左花括号的同一行中,并在其之前放置/***/
。您可能会看到测试用例here
cygmwpex2#
除了@昊武的拦网技术非常高明之外,下面这些也很管用!
查找:
(^$\n([\s]*)(.*\{$|[\s]*@.*)$)
替换:
$2/***/$1