J'ai quelques problèmes avec replaceregexp
. Pour être plus compréhensible, je vais utiliser des exemples simples, et pas le vrai code.replaceregexp avec Ant Script
présument J'ai 2 fichiers 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>
}
}
Je veux supprimer la partie "COMMENTAIRES Indésirables" de chaque fichier java dans mon projet, mais je veux le faire avec ANT, pas manuellement. Pour cela, j'utilise ceci:
<replaceregexp flags="s">
<regexp pattern="UNDESIRABLE COMMENTS.+\*/"/>
<substitution expression="*/"/>
<fileset dir=".">
<filename name="*.java"/>
</fileset>
</replaceregexp>
Ce que je veux est d'obtenir ce code:
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>
}
}
Il fonctionne très bien pour secondClass.java mais pas pour le premier fichier. Le problème apparaît lorsqu'il y a d'autres commentaires, comme la description des fonctions. Les résultats du fichier bien mais firstClass.java je reçois ceci:
/**
*/
public String secondFunction(){
<instructions>
}
}
Tout ce qui était entre le début des « COMMENTAIRES Indésirables » à la fin de la description de ma deuxième fonction a été supprimée. Donc le problème est: quand mon remplaceregexp trouve plus * /, il s'arrête sur le dernier, et supprime tout entre "UNDESIRABLE COMMENTS" et ce dernier * /.
Avez-vous une solution pour supprimer simplement ce qui est entre "UNDESIRABLE COMMENTAIRES" et le premier */trouvé?
Merci beaucoup, ça marche !! –