Comment utiliser les expressions régulières avec Eclipse du rechercher/remplacer pour refactoriser le code
Je suis encore en train de développer mon regex compétences, je suis donc penchée sur la communauté. Je dis que je veux refactorisation de code "avec Eclipse", mais j'ai utilisé un certain nombre d'IDE dont de rechercher et de remplacer des fonctions acceptent des expressions régulières. J'ai réussi à créer des expressions générales de trouver des choses, mais me demande si je peux prendre des parties de la correspondance de motif et de l'utilisation de la valeur de remplacement. Par exemple, j'ai beaucoup de fonctions de test nommé avec le motif suivant" "testSomeFunction1(), testSomeFunction2(), testAnotherFunction()" j'ai vraiment envie d'être nommé "test_someFunction1(), test_someFunction2(), test_anotherFunction()". Le Trouver: "[A-Z]", mais que dois-je utiliser pour Remplacer avec:? "test_[a-z]" est littéralement un remplacement? Peut-être, je ne peux pas utiliser une regex instruction dans le remplacement?
Merci Sandman. Je devrais avoir été clair. J'ai déjà essayé et échoué. C'est la raison pour demander de l'aide.
Avez-vous essayé la capture et à l'arrière de référencement de groupes, comme indiqué dans ma réponse?
OriginalL'auteur | 2011-05-11
Vous devez vous connecter pour publier un commentaire.
Pour l'échantillon de texte que vous avez posté, l'expression doit être
test([a-z]*)
et le remplacement doit êtretest_$1
.Cela rend l'utilisation de la capture de groupes référencés par
$i
oùi
est la capture de l'indice de groupe (0
est l'ensemble de l'expression). Vous pouvez également envisager le cas de la chaîne de recherche puisque le texte commepermuteString
correspondent aussi à l'expression si la recherche est insensible à la casse.Vous devez également être en mesure d'utiliser le contenu de l'aider dans les champs de texte de la
Find/Replace
boîte de dialogue pour voir quelles options sont disponibles pour les expressions régulières (une fois que vous avez coché la case pourRegular expressions
) - appuyez sur la touche CTRL+ESPACEVous êtes les bienvenus. J'ai trouvé Java regex tutoriel pour être un bon point de départ - il est spécifique à Java, bien sûr, mais beaucoup de concepts sont tout à fait générale.
OriginalL'auteur no.good.at.coding
Être sûr de vérifier le \C expression régulière de l'opérateur, ce qui je pense est spécifique à Eclipse. Il permet d'économiser beaucoup de travail en remplaçant le même mot en majuscules, en minuscules, et camelCase variantes. Par exemple, si le texte original est:
puis de faire un "Remplacer Tout" remplacement de
avec
vous obtiendrez:
ce qui est probablement ce que vous voulez.
OriginalL'auteur Ed Staub