5 votes

Comment répéter le texte correspondant à une regex ?

J'essaie d'ajouter log4j à un ancien logiciel en utilisant eclipse search/replace.

L'idée est de trouver toutes les déclarations de classe et de les remplacer par, la déclaration elle-même plus la définition du logger dans la ligne suivante.

recherche

".*class ([A-Z][a-z]+).*\{"

remplacer :

"final static Logger log = Logger.getLogger($1.class);"

Comment puis-je ajouter le modèle correspondant (la définition de la classe) à la chaîne de remplacement ?

3voto

eQui Points 2429

Je pense que tu as besoin de ça :

recherche :

(.*class ([A-Z][a-z]+).*\{)

remplacer :

$1\Rfinal static Logger log = Logger.getLogger($2.class);

1voto

BoltClock Points 249668

Vous pouvez toujours capturer le tout et l'insérer. Le groupe de capture interne vit dans une deuxième référence arrière.

Trouvez :

(.*class ([A-Z][a-z]+).*\{)

Remplacer par :

$1 final static Logger log = Logger.getLogger($2.class);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X