132 votes

Regex backreferences dans IntelliJ

Je veux utiliser la fonction Rechercher-Remplacer de IntelliJ pour effectuer la transformation suivante :

J’ai essayé ce qui suit :

Texte à Rechercher : remplacer par :

Mais Intellij ne semble pas reconnaître et comme backreferences. J’ai aussi essayé une simple barre oblique, mais qui ne fonctionne pas non plus.

Merci, Don

198voto

Steve K Points 10475

IntelliJ utilise \$1 pour backreference.

De l’aide de IntelliJ :

Pour plus d’informations sur les expressions régulières et leur syntaxe, reportez-vous à la documentation pour java.util.regex retour en références devraient avoir $n, plutôt qu’au format \n.

2voto

Glen Points 66

L’aide contextuelle de produit pour les regex en idée 9.0 (et peut-être d’autres versions) semble incorrecte. Il déclare ceci :

 Retour références \n tout ce qui correspondait au Nème groupe de capture 

Mais apparemment, comme mentionné dans les réponses précédentes et est mon expérience, c' est vraiment \$n pour les références arrières et non \n

Vous arrivez à cette aide contextuelle en cliquant sur le lien « [aide] » regard de l’option de radio « Expression régulière » sur la la boîte de dialogue « Remplacer le texte »

0voto

Cong De Peng Points 80

IntelliJ IDEA / de Référence / de la Syntaxe d'Expression Régulière de Référence


Correspond à sous-expression et se souvient du match. Si vous devez utiliser la sous-chaîne correspondante dans la même expression régulière, vous pouvez le récupérer en utilisant la référence arrière (\num, où num = 1..n). Si vous avez besoin de se référer à la correspondance de sous-chaîne, quelque part en dehors de l'actuelle expression régulière (par exemple, dans une autre expression régulière dans le champ de Remplacement), vous pouvez le récupérer en utilisant le signe dollar ($num, où num = 1..n). Si vous avez besoin d'inclure les parenthèses de caractères dans la sous-expression, d'utilisation "(" ou ")".

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