正则表达式在 Eclipse 中进行多行搜索
regex to do multi line search in eclipse
我需要一个正则表达式来匹配包含 "private final VARIABLE".
行之前的注释
输入:
/**
*okay1
*/
menu
/**
* okay2.
*/
private final VARIABLE;
输出应该是:
/**
* okay2.
*/
private final VARIABLE;
字符串 okay1 和 okay2 可以是任何东西。他们在这里代表评论。我试过这样做但行不通。
((\/\*\*[\S\s]*\*\/){1})[\s]*(private\s*final\s*VARIABLE\;)
这也符合我不想要的第一条评论 (okay1)。我熟悉正则表达式,但这并不简单。将不胜感激任何帮助。谢谢
您可以使用像
这样的正则表达式
/\*+[^*]*\*+(?:[^/*][^*]*\*+)*/\s*(private\s+final\s+VARIABLE;)
详情
/\*+
- 匹配注释开头,/*
和其后的任何 0+ 星号
[^*]*\*+
- 匹配 *
以外的 0+ 个字符,后跟 1+ 个文字 *
(?:[^/*][^*]*\*+)*
- 0+ 个序列:
[^/*][^*]*\*+
- 不是 /
或 *
(与 [^/*]
匹配)后跟 0+ 个非星号字符([^*]*
)后跟1+ 个星号 (\*+
)
/
- 收盘 /
\s*
- 0+ 个空格
(private\s+final\s+VARIABLE;)
- 第 1 组:private
,1+ 个空格,final
,1+ 个空格,VARIABLE;
.
我需要一个正则表达式来匹配包含 "private final VARIABLE".
行之前的注释输入:
/**
*okay1
*/
menu
/**
* okay2.
*/
private final VARIABLE;
输出应该是:
/**
* okay2.
*/
private final VARIABLE;
字符串 okay1 和 okay2 可以是任何东西。他们在这里代表评论。我试过这样做但行不通。
((\/\*\*[\S\s]*\*\/){1})[\s]*(private\s*final\s*VARIABLE\;)
这也符合我不想要的第一条评论 (okay1)。我熟悉正则表达式,但这并不简单。将不胜感激任何帮助。谢谢
您可以使用像
这样的正则表达式/\*+[^*]*\*+(?:[^/*][^*]*\*+)*/\s*(private\s+final\s+VARIABLE;)
详情
/\*+
- 匹配注释开头,/*
和其后的任何 0+ 星号[^*]*\*+
- 匹配*
以外的 0+ 个字符,后跟 1+ 个文字*
(?:[^/*][^*]*\*+)*
- 0+ 个序列:[^/*][^*]*\*+
- 不是/
或*
(与[^/*]
匹配)后跟 0+ 个非星号字符([^*]*
)后跟1+ 个星号 (\*+
)
/
- 收盘/
\s*
- 0+ 个空格(private\s+final\s+VARIABLE;)
- 第 1 组:private
,1+ 个空格,final
,1+ 个空格,VARIABLE;
.