我有一些問題replaceregexp
。爲了更容易理解,我將使用簡單的例子,而不是真正的代碼。replaceregexp with Ant Script
所以假設我有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發現更多的* /,它停在最後一個,並刪除「UNDESIRABLE COMMENTS」和最後一個* /之間的所有內容。
您是否有任何解決方案來刪除「UNDESIRABLE COMMENTS」和第一個*/found之間的內容?
非常感謝你,它的工作原理! –