web-dev-qa-db-fra.com

VSCode regex trouver et remplacer maths submatch?

%s@{fileID: \(213[0-9]*\)@\='{fileID: '.(submatch(1)-1900)@

J'utilise cette commande regex search and replace dans vim pour soustraire une constante de chaque identifiant correspondant.

Je peux faire la regex trouver dans vscode mais comment puis-je référencer la sous-correspondance pour maths & replace? submatch (1) ne fonctionne pas dans vscode?

Merci.

134
Rakka Rage

Étant donné une expression régulière de (foobar), vous pouvez référencer le premier groupe à l'aide de $1 et ainsi de suite si vous avez plus de groupes dans le champ de saisie de remplacement.

229
Benjamin Pasero

Pour compléter la réponse de Benjamin par un exemple:

Find        Carrots(With)Dip(Are)Yummy
Replace     Bananas$1Mustard$2Gross
Result      BananasWithMustardAreGross

Tout ce qui est entre parenthèses peut être une expression régulière.

77
Shaun Luttin

Juste pour ajouter un autre exemple:

Je remplaçais src attr dans les balises html img, mais je ne devais remplacer que le src et conserver le texte entre la déclaration img et l'attribut src.

J'ai utilisé l'outil rechercher + remplacer (ctrl + h) comme dans l'image: Find and replace

45
Diogo Paschoal