[英]replaceregexp with Ant Script
我对replaceregexp
有一些问题。 为了更容易理解,我将使用简单的示例,而不是真实的代码。
因此,假设我有2个Java文件:
firstClass.java
/**
* UNDESIRABLE COMMENTS ABCDEFGHIJ ABCDEFGHIJ ABCDEFGHIJ ABCDEFGHIJ ABCDEFGHIJ
* ABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJ
*/
public class firstClass{
public String firstFunction(){
<instructions>
}
/**
* My function's description that I want to keep
*/
public String secondFunction(){
<instructions>
}
}
secondClass.java
/**
* UNDESIRABLE COMMENTS ABCDEFGHIJ ABCDEFGHIJ ABCDEFGHIJ ABCDEFGHIJ ABCDEFGHIJ
* ABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJ
*/
public class secondClass{
public String firstFunction(){
<instructions>
}
}
因此,我想删除项目中每个java文件的“不必要的注释”部分,但我想使用ANT来完成此操作,而不是手动进行。 为此,我正在使用此:
<replaceregexp flags="s">
<regexp pattern="UNDESIRABLE COMMENTS.+\*/"/>
<substitution expression="*/"/>
<fileset dir=".">
<filename name="*.java"/>
</fileset>
</replaceregexp>
我想要的是获取此代码:
firstClass.java
/**
*/
public class firstClass{
public String firstFunction(){
<instructions>
}
/**
* My function's description that I want to keep
*/
public String secondFunction(){
<instructions>
}
}
secondClass.java
/**
*/
public class secondClass{
public String firstFunction(){
<instructions>
}
}
它对secondClass.java很好用,但对第一个文件却不好。 当还有其他注释(例如功能说明)时,就会出现问题。 文件secondClass.java结果很好,但是在firstClass.java中,我得到了以下信息:
/**
*/
public String secondFunction(){
<instructions>
}
}
从“不必要的注释”开始到第二个函数的描述结束之间的所有内容均被删除。
所以问题是:当我的replaceregexp找到更多* /时,它将在最后一个* /处停止,并删除“不必要的评论”和最后一个* /之间的所有内容。
您是否有任何解决方案,只需删除“不必要的评论”和找到的第一个* /之间的内容?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.