Java注释行上的所有事件的正则表达式(在Eclipse中)

时间:2017-04-06 15:15:59

标签: java regex eclipse regex-greedy

我需要用abc替换所有出现的xyz,但前提是它们出现在Javadoc注释中。

我正在使用Eclipse。

我认为只需要使用\s*\*\s/\* 开始的行应该足以满足我的目的(不需要匹配"发生在{ {1}}和/**",但这也可行。)

我尝试使用:*/并替换为(\s\*|\s/\*)(.*)abc,但问题是正则表达式是贪婪的,因此它只给出了与我的字符串匹配的最长行(即,我只能替换<在任何给定的行上,em> last $1$2xyz。有没有办法要求所有的可能性,还是超出(非递归)正则表达式的范围?

如果它超出范围,递归表达式会起作用吗? (在任何情况下,Eclipse都不支持。)

1 个答案:

答案 0 :(得分:0)

据我所知,这是不可能的。正则表达式遍历输入文本的每个字符一次,它不能返回。

您可以匹配JavaDoc行的第一个abc或最后一个abc,因为当它们中的任何一个匹配时,将该行定义为JavaDoc注释的字符不能再次匹配。