[英]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.