Java 注释行中所有出现的正则表达式(在 Eclipse 中)
Regex for all ocurrences on Java Commented Lines (in Eclipse)
我需要将所有出现的 abc
替换为 xyz
,但前提是它们出现在 Javadoc 注释中。
我正在使用 Eclipse。
我认为只需要以 \s*\*
或 \s/\*
开头的行 应该 足以满足我的目的(不需要匹配 "occurs between /**
and */
",但这也可以正常工作)。
我尝试使用:(\s\*|\s/\*)(.*)abc
并用 xyz
替换,但问题是正则表达式是贪婪的,所以它只给我匹配我的字符串的最长行(即,我只能替换任何给定行的 last abc
)。有没有什么办法可以要求它 all 的可能性,或者是在(非递归)正则表达式的范围之外?
如果它在范围之外,递归表达式会起作用吗? (Eclipse 在任何情况下都不支持)。
据我所知这是不可能的。正则表达式遍历输入文本的每个字符一次,并且不能返回。
您可以匹配 JavaDoc 行的第一个 abc 或最后一个 abc,因为当它匹配其中任何一个时,定义该行作为 JavaDoc 注释的字符将无法再次匹配。
我需要将所有出现的 abc
替换为 xyz
,但前提是它们出现在 Javadoc 注释中。
我正在使用 Eclipse。
我认为只需要以 \s*\*
或 \s/\*
开头的行 应该 足以满足我的目的(不需要匹配 "occurs between /**
and */
",但这也可以正常工作)。
我尝试使用:(\s\*|\s/\*)(.*)abc
并用 xyz
替换,但问题是正则表达式是贪婪的,所以它只给我匹配我的字符串的最长行(即,我只能替换任何给定行的 last abc
)。有没有什么办法可以要求它 all 的可能性,或者是在(非递归)正则表达式的范围之外?
如果它在范围之外,递归表达式会起作用吗? (Eclipse 在任何情况下都不支持)。
据我所知这是不可能的。正则表达式遍历输入文本的每个字符一次,并且不能返回。
您可以匹配 JavaDoc 行的第一个 abc 或最后一个 abc,因为当它匹配其中任何一个时,定义该行作为 JavaDoc 注释的字符将无法再次匹配。