Je veux utiliser trouver et remplacer fonctionnalité de IntelliJ pour effectuer la transformation suivante:des backreferences regex dans IntelliJ
// Replace this
model.put('foo', 'bar')
// With this
model['foo'] = bar
J'ai essayé ce qui suit:
texte pour trouver: model.put\((.*),(.*)\)
Remplacer par :
Mais Intellij ne semble pas reconnaître \\1
et \\2
en tant que références arrière. J'ai aussi essayé un seul slash, mais ça ne marche pas non plus.
Merci, Don
On dirait que "\" n'est pas nécessaire: https://www.jetbrains.com/idea/help/finding-and-replacing-text-in-file.html # d1765718e362. Aussi, pour moi cela ne fonctionne que si j'entoure explicitement mon groupe avec "()", sinon je ne peux pas le référencer plus tard. Ex: search '' '(foo)' '' remplacer: '' '$ 1bar''' – Ghedeon
@Ghedeon: Vous devriez probablement ajouter votre commentaire en réponse ou à la réponse existante. Votre suggestion de mettre l'expression dans() est ce qui a fonctionné pour moi. – mindreader
+1 le peu d'information qui a résolu mon problème connexe: je remplace les enveloppes quote-plus autour des variables avec des enveloppes dollar-bouclés, à savoir, «+ var +» '' $ {var} 'dans certaines chaînes de modèle et ne pouvait pas comprendre pourquoi intellij ne finirait pas le remplacement. Il s'avère que '$' doit être échappé dans le remplacement. – worc