%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 le regex trouver dans VSCode, mais comment puis-je référencer le submatch
pour les maths et remplacer? submatch(1)
ne fonctionne pas dans VSCode?
Merci.
regex
visual-studio-code
Rakka Rage
la source
la source
<p>(.*)</p>
par<p>\n\t\t\t\t\t\t$1\n\t\t\t\t\t</p>
un fichier de 2000 lignes. Imaginez-moi le faire manuellement.Pour compléter la réponse de Benjamin avec un exemple:
Tout ce qui est entre parenthèses peut être une expression régulière.
la source
Juste pour ajouter un autre exemple:
Je remplaçais src attr dans les balises html img, mais j'avais besoin de remplacer uniquement le src et de conserver tout texte entre la déclaration img et l'attribut src.
J'ai utilisé l'outil find + replace (ctrl + h) comme dans l'image:
la source
$1
sans remplacement\[innerHtml\]\s*=\s*"'(.*)'\s*\|\s*translate\s*"
avecmyTranslate="$1"
et il sautait des clés au hasard et insérait parfois $ 1 au lieu de la valeur de groupe. la mise à jour 1.28.0 a résolu ce problèmeDans mon cas, 1 $ ne fonctionnait pas, mais 0 $ fonctionne bien pour mon objectif.
Dans ce cas, j'essayais de remplacer les chaînes par le format correct pour les traduire en Laravel, j'espère que cela pourrait être utile à quelqu'un d'autre car il m'a fallu un certain temps pour le trier!
Regex Replace String for Laravel Translation
la source
Pour les débutants, la réponse acceptée est correcte, mais un peu laconique si vous n'êtes pas familier avec VSC ou Regex.
Donc, si c'est votre premier contact avec:
Pour rechercher et modifier du texte,
À l'étape "Rechercher", vous pouvez utiliser l'expression régulière avec des "groupes de capture", par exemple
I want to find (group1) and (group2)
en utilisant des parenthèses. Cela trouverait le même texte queI want to find group1 and group2
, mais avec la différence que vous pouvez ensuite référencergroup1
etgroup2
à l'étape suivante:Dans l'étape « Remplacer », vous pouvez vous référer aux groupes de capture par l' intermédiaire
$1
,$2
etc., de sorte que vous pouvez changer la phraseI found $1 and $2 having a picnic
, ce qui génèreraitI found group1 and group2 having a picnic.
Remarques:
Au lieu d'une simple chaîne, tout ce qui se trouve à l'intérieur ou à l'extérieur de
()
peut être une expression régulière.$0
fait référence à l'ensemble du matchla source
Un autre exemple simple:
Utile pour convertir HTML en JSX avec emotion / css!
la source