Je voudrais rechercher plusieurs fichiers via eclipse pour les 2 lignes suivantes:
@Length(max = L_255) private Ssortingng description;
et remplacez-les par ces deux:
@Length(max = L_255, message="{validator.description.len}") private Ssortingng description;
La recherche est multi-ligne par défaut dans Eclipse lorsque vous utilisez regex:
(\@Length\(max = L_255)\)([\r\n\s]+private)
Je voudrais append “Description de chaîne privée”
(\@Length\(max = L_255)\)([\r\n\s]+private\s+?Ssortingng\s+description\s*?;)
remplacé par:
\1, message="{validator.description.len}")\2
Il fonctionne parfaitement dans une recherche de fichier déclenchée par un CTRL – H .
Comme mentionné dans la réponse de Tika , vous pouvez copier directement les deux lignes sélectionnées dans le champ “Containing Text” : ces lignes seront converties en expression rationnelle par Eclipse.
Une autre astuce pour obtenir la regex pour un bloc sélectionné. Ouvrez l’un des fichiers contenant les plusieurs lignes (multiline) à rechercher ou à remplacer. Cliquez sur Ctrl + F et sélectionnez “Expression régulière”. Fermez la fenêtre Rechercher / Remplacer. Sélectionnez le bloc dont vous avez besoin et cliquez à nouveau sur Ctrl + F pour ouvrir la fenêtre Rechercher / Remplacer. Maintenant, dans la zone de texte Rechercher, vous avez l’expression régulière qui correspond exactement à votre bloc de sélection.
(J’ai découvert cela seulement après avoir créé manuellement une expression rationnelle pour un très long bloc 🙂
CTRL + H prend deux lignes si vous utilisez regexp (et vous n’avez pas besoin d’écrire l’expression régulière vous-même, eclipse le fait pour vous).
Astuce rapide pour inclure plusieurs lignes dans une expression régulière construite manuellement:
Où vous utiliseriez normalement .*
faire correspondre n’importe quel caractère à zéro ou plusieurs fois, envisagez plutôt d’utiliser quelque chose comme (?:.|\r?\n)*
. Ou mettre un extra ?
à la fin pour le rendre non gourmand.
Explication:. ne correspond pas aux nouvelles lignes, vous devez donc faire un “ou-ou”: les parenthèses correspondent à la .
avant le tuyau ou la nouvelle ligne après elle. Le ?
Après \r
le retour à la ligne avant le saut de ligne est facultatif pour autoriser les nouvelles lignes Windows ou Unix. Le ?:
Exclut le tout en tant que groupe de capture (ce qui permet d’éviter un débordement de stack).
Sélectionnez le dossier qui contient tous vos fichiers et appuyez sur Ctrl + H.