Bonjour
Je voudrais recupere tous les string contenu dans un programme java et meme ceux qui peuvent etre compos2 je m'explique:
System.out.println("test"+"eesf"+"+fdfdgd"); ici ("test"+"eesf"+"+fdfdgd")
System.out.println("firstName: " + name.toString() + " lastName: " + new Object()); et dans ce cas la ("firstName: " + name.toString() + " lastName: " + new Object())
J'ai definit une expression reguliere :
Matcher match=parser.find(line, "((\"(.*)\"(.*))+(\\);|\\)\\.)(.*))");
En gros au depart je regarde la presence d'un guillemet suivi dune suite de caractere fini par un autre guillemet. Cette expression pourra etre suivie d'une chaine quelconque, et sarretera quand elle recontrera un ). ou un );
). car la fonction peut en appeler une autre du style
getOrCreateClassData("work.ListFiles").touch(80)
et ); si par exemple cest un simple syso.
Mon probleme est que mon expression ne me prends jamais la fin de la chaine par exemple dans ("firstName: " + name.toString() + " lastName: " + new Object())
elle va mafficher :firstName: " + name.toString() + " lastName: "
Pouvez vous m'aider
Cordialement
Partager