%s@{fileID: \(213[0-9]*\)@\='{fileID: '.(submatch(1)-1900)@
Ich verwende diesen Regex-Such- und Ersetzungsbefehl in vim, um eine Konstante von jeder übereinstimmenden ID zu subtrahieren.
Ich kann die Regex-Suche in VSCode durchführen, aber wie kann ich auf die submatch
für Mathematik verweisen und ersetzen? submatch(1)
funktioniert nicht in VSCode?
Vielen Dank.
regex
visual-studio-code
Rakka Rage
quelle
quelle
<p>(.*)</p>
mit<p>\n\t\t\t\t\t\t$1\n\t\t\t\t\t</p>
einer 2000 Zeilendatei. Stellen Sie sich vor, ich mache es manuell.Um Benjamins Antwort mit einem Beispiel zu ergänzen:
Alles in Klammern kann ein regulärer Ausdruck sein.
quelle
Nur um ein weiteres Beispiel hinzuzufügen:
Ich habe src attr in img html-Tags ersetzt, aber ich musste nur src ersetzen und den Text zwischen der img-Deklaration und dem src-Attribut beibehalten.
Ich habe das Tool zum Suchen und Ersetzen (Strg + H) wie im Bild verwendet:
quelle
$1
ersatzlos\[innerHtml\]\s*=\s*"'(.*)'\s*\|\s*translate\s*"
durch zu ersetzen,myTranslate="$1"
und es wurden zufällig Schlüssel übersprungen und manchmal $ 1 anstelle des Gruppenwerts eingefügt . Update auf 1.28.0 behoben dieses ProblemIn meinem Fall hat $ 1 nicht funktioniert, aber $ 0 funktioniert gut für meinen Zweck.
In diesem Fall habe ich versucht, Zeichenfolgen durch das richtige Format zu ersetzen, um sie in Laravel zu übersetzen. Ich hoffe, dass dies für andere nützlich sein kann, da ich eine Weile gebraucht habe, um es zu klären!
Regex-Zeichenfolge für Laravel-Übersetzung ersetzen
quelle
Für Anfänger ist die akzeptierte Antwort richtig, aber ein wenig knapp, wenn Sie weder mit VSC noch mit Regex so vertraut sind.
Für den Fall, dass dies Ihr erster Kontakt ist mit:
Um Text zu finden und zu ändern ,
Im Schritt "Suchen" können Sie Regex mit "Erfassen von Gruppen" verwenden, z
I want to find (group1) and (group2)
. B. in Klammern. Dies würde den gleichen Text finden wieI want to find group1 and group2
, aber mit dem Unterschied, auf den Sie dann verweisen könnengroup1
undgroup2
im nächsten Schritt:In dem „Ersetzen“ Schritt können Sie die Erfassungsgruppen über beziehen
$1
,$2
etc, so dass Sie den Satz ändern könntenI found $1 and $2 having a picnic
, was würde AusgangI found group1 and group2 having a picnic.
Anmerkungen:
Anstelle nur einer Zeichenfolge kann alles innerhalb oder außerhalb der Zeichenfolge
()
ein regulärer Ausdruck sein.$0
bezieht sich auf das ganze Spielquelle
Ein weiteres einfaches Beispiel:
Nützlich für die Konvertierung von HTML in JSX mit Emotion / CSS!
quelle