2010-08-18 137 views
0
/** Constant <code>IDX_USER="IDX_+ USER_ID"</code> */ 

我有几行代码是由javadoc生成的,并显示出类似上面的内容。我想要查找以/ ** Constant IDX_开头的所有行,并且一直到行尾。如何使用正则表达式搜索以特定文本开头的行

我该怎么做?将在Eclipse中使用正则表达式搜索和替换功能来操纵修改

回答

1

您可以使用特殊字符^来指示您的正则表达式从行的开始处开始。例如,假设你的正则表达式,你可以搜索:

^\/\*\* Constant IDX_ 

可能还想允许空格之前的评论。正则表达式[ \t]*将匹配零个或多个空格或制表符,使下面的正则表达式:

^[\t ]*\/\*\* Constant IDX_ 

匹配任何开始/** Constant IDX_(允许空格在该行的开始)。

如果你想整行(也许您正则表达式后捕获注释的内容,你可以使用$指示线的末端,并.匹配任何字符。*结合这(指示零或多个字符的字符串),你就会结了。

^[\t ]*\/\*\* Constant IDX_.*$ 
+0

我开始文本应该是/ **恒IDX_,我不知道怎么说的一切,直到年底了带有上述文字 – Joe 2010-08-18 12:51:46

+1

开头的字符串在这种情况下,您可以在正则表达式中包含常量IDX_。我已经更新了我的答案。 – 2010-08-18 12:53:59

+0

谢谢,这绝对有帮助,但我想用什么来取代这条线。目前它取代了一个空行,我应该如何解决这个问题? – Joe 2010-08-18 13:03:31

0

我会用这一个

^\/\*\* Constant IDX_.*$ 

一个很好的测试你的表达是http://gskinner.com/RegExr/ 尝试你自己的。但上面的正则表达式工作得很好。

0
\s*\/\*{2}\s*Constant\s*(?:<code>)?(IDX_.*)="(.+)"(?:<\/code>)?\s*\*\/[\r\n]* 

将根据您给出的示例将常量的名称存储在$ 1中,并且它的值为$ 2。 <码>标签都有效是可选的,白色的空间并不重要

相关问题