Als «regular-expression» getaggte Fragen

Reguläre Ausdrücke (oft mit "Regex" abgekürzt) sind Ausdrücke, die in einer deklarativen Sprache geschrieben sind und zum Abgleichen von Mustern innerhalb von Zeichenfolgen verwendet werden.

3
Suchen und Ersetzen mit regulären Ausdrücken
Ich habe eine Datei mit einer Reihe von Benutzervorgaben. Ich möchte einen Teil des Texts ändern, habe aber Probleme, einen Matcher und einen Ersatz zu finden. Mit dem folgenden Beispiel: ############################################################################### # Trackpad, mouse, keyboard, Bluetooth accessories, and input # ############################################################################### # Trackpad: enable tap to click for this user …

2
Ist ein Lookaround im Regex-System von vim möglich?
Ich bin in vim auf viele Situationen gestoßen, in denen es nützlich wäre, Lookaround-Anweisungen zu haben. Ich habe versucht , die Standard - Lookarounds Syntax ( (?=), (?!)etc ..) , aber es scheint vim dies nicht unterstützt. Hat vim eine äquivalente Syntax für diese Art von Anweisungen?


5
Vim-Syntaxmuster zum Hervorheben des Python-Schlüsselwortarguments
Ich kämpfe mit dem Erlernen von regulären Ausdrücken (ich kenne auch keine anderen regulären Ausdrücke sehr gut), daher besteht das Hauptproblem darin, reguläre Ausdrücke zu definieren, die übereinstimmen würden some_function_call(simple_value, keyword=value) Schlüsselwort in diesem Beispiel. Es sollte also mit einem Wort übereinstimmen, wenn es sich innerhalb von Parens befindet und …

3
Wie kann man Regex-Matcher nicht gierig machen?
Ich versuche, einen regulären Ausdruck zum Ersetzen von Text in einer Datei zu verwenden (ersetzen Sie eine vollständige URL nur durch protocol / domain /): :%s/\(https\?:\/\/.*?\/\).*/\1/gc Leider .*?passt der String nicht, auch wenn versucht wird, dem ?Quantor zu entkommen ? Wie soll ein nicht gieriger Quantor in vim entkommen?

1
Warum erlaubt Vim Regex nicht mehr als 9 Erfassungsgruppen?
Aus können :h E65wir ersehen, dass Vim nicht mehr als 9 Erfassungsgruppen in einem Ersetzungsbefehl zulässt. Zum Beispiel wird der folgende Befehl funktionieren: s/\v(a)(b)(c)(d)(e)(f)(g)(h)(i)/\9\8\7\6\5\4\3\2\1 Aber diese mit einer weiteren Erfassungsgruppe wird fehlschlagen: s/\v(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)/\10\9\8\7\6\5\4\3\2\1 Meine Frage ist nicht, warum es fehlschlägt (es ist ein hartes Vim-Limit), sondern warum hat Vim dieses …




1
Gibt es eine Möglichkeit, ein Vim-Regex-Literal in verschiedene magische Modi zu konvertieren?
Wenn ich einen magischen Vim-Regex in einem String-Literal habe, gibt es eine Möglichkeit, den gesamten Regex in eine alternative Darstellung zu konvertieren, die einen anderen magischen Modus verwendet, sodass ich diesen entsprechenden Regex in den Quellcode einfügen kann? Wenn ich zum Beispiel dieses Magic-Mode-Muster konvertieren möchte: '\m-\=\<\d\+L\=\>\|0[xX][0-9a-fA-F]\+\>' in den sehr …


1
Falten durch Regex-Suchmuster
Ich habe eine reine Textdatei mit durch Leerzeichen getrennten Wertespalten erhalten. So was: AU 3030 .... ... .... AU 3031 .... ... .... AU 3032 .... ... .... AU 3033 .... ... .... IT 48100 ... .. ..... IT 40100 ... .. ..... IT 48123 ... .. ..... UK 3333 …


11
Ersetzen Sie das zweite Vorkommen online
Ich habe eine Liste von Dateien: ./a.temp.txt ./a.temp.txt ./a/b.temp.txt ./a/b.temp.txt ./a/b/c.temp.txt ./a/b/c.temp.txt Und ich möchte das temp.in jeder Zeile entfernen , aber nur das zweite Vorkommen , daher sollte die Datei so aussehen: ./a.temp.txt ./a.txt ./a/b.temp.txt ./a/b.txt ./a/b/c.temp.txt ./a/b/c.txt Wie soll ich das machen?

3
Was ist der Unterschied zwischen den Atomen '\ zs' und '\ @ <=' in Vim Regex?
Folgendes erhalte ich aus der Dokumentation: \zs"Startet den hervorgehobenen Teil" nach dem Abgleichen des vorhergehenden regulären Ausdrucks und \@&lt;="Startet den hervorgehobenen Teil" nach dem Abgleichen des vorhergehenden Atoms . Aber ich verstehe die Feinheiten nicht genau. Kann jemand erklären, wie sie sich etwas tiefer unterscheiden? Das hat mich neugierig gemacht: …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.