Articles of Regex

Regex Look-Behind ohne offensichtliche maximale Länge in Java

Ich dachte immer, dass eine Look- Behind-Behauptung in der Regex-API von Java (und vielen anderen Sprachen) eine offensichtliche Länge haben muss. Daher sind STAR- und PLUS-Quantifizierer innerhalb von Look-Behinds nicht erlaubt. Die ausgezeichnete Online-Ressource regular-expressions.info scheint (teilweise) meine Annahmen zu bestätigen: “[…] Java geht einen Schritt weiter, indem es endliche Wiederholungen erlaubt. Sie können immer […]

Regulärer Ausdruck zum Überspringen von Zeichen in der Erfassungsgruppe

Ist es möglich, ein paar Zeichen in einer Erfassungsgruppe in regulären Ausdrücken zu überspringen? Ich benutze .NET Regexes, aber das sollte keine Rolle spielen. Grundsätzlich suche ich nach: [zufälliger Text] AB-123 [zufälliger Text] und ich brauche “AB123”, ohne den Bindestrich. Ich weiß, dass AB 2 oder 3 Großbuchstaben und 123 2 oder 3 Ziffern ist, […]

Regex für das Abgleichen von etwas, wenn es nicht etwas anderes vorausgeht

Also, mit Regex in Java, möchte ich eine Regex schreiben, die genau dann passt, wenn dem Muster nicht bestimmte Zeichen vorangestellt sind. Beispielsweise: String s = “foobar barbar beachbar crowbar bar “; Ich möchte übereinstimmen, wenn bar nicht foo vorangestellt ist. So würde Ausgabe sein: barbar beachbar crowbar bar Ich weiß, das ist wahrscheinlich eine […]

String.replaceAll (regex) erstellt denselben Ersatz zweimal

Kann mir jemand sagen warum System.out.println(“test”.replaceAll(“.*”, “a”)); Ergebnisse in aa Beachten Sie, dass das Folgende das gleiche Ergebnis hat: System.out.println(“test”.replaceAll(“.*$”, “a”)); Ich habe dies auf Java 6 & 7 getestet und beide scheinen sich genauso zu verhalten. Fehle ich etwas oder ist das ein Fehler in der Java Regex Engine?

MySQL streift nicht-numerische Zeichen ab, die verglichen werden sollen

Ich suche nach Datensätzen in einer Tabelle, die mit einer bestimmten Nummer übereinstimmen, die der Benutzer eingibt. Also kann der Benutzer 12345 eingeben, aber dies könnte 123zz4-5 in der database sein. Ich könnte mir vorstellen, dass so etwas funktionieren würde, wenn PHP-functionen in MySQL funktionieren würden. SELECT * FROM foo WHERE preg_replace(“/[^0-9]/”,””,bar) = ‘12345’ Was […]

Überlappende Übereinstimmungen in Regex

Ich kann keine Antwort auf dieses Problem finden, und ich frage mich, ob einer existiert. Vereinfachtes Beispiel: Betrachten Sie eine Zeichenkette “nnnn”, in der ich alle Übereinstimmungen von “nn” finden möchte – aber auch solche, die sich überlappen. Die Regex würde also die folgenden 3 Treffer liefern: nn nn n nn n nn nn Mir […]

Wie verwende ich reguläre Ausdrücke in Bash-Skripten?

Ich möchte überprüfen, ob eine Variable ein gültiges Jahr mit einem regulären Ausdruck hat. Ich verstehe, dass ich den Operator = ~ benutzen kann Wenn ich das Beispiel unten betrachte, würde ich erwarten, “nicht OK” zu sehen, aber ich sehe “OK”. Was mache ich falsch? i=”test” if [ $i=~”200[78]” ] then echo “OK” else echo […]

Was ist die Regex, um alle Emojis aus einer Zeichenkette zu extrahieren?

Ich habe eine Zeichenfolge in UTF-8 codiert. Beispielsweise: Thats a nice joke 😆😆😆 😛 Ich muss alle im Satz vorhandenen Emojis extrahieren. Und das Emoji könnte jeder sein Wenn dieser Satz im Terminal mit dem Befehl less text.txt , wird er wie folgt angezeigt: Thats a nice joke Dies ist der entsprechende UTF-Code für das […]

Wie debugge ich eine Regex?

Reguläre Ausdrücke können sehr komplex werden. Der Mangel an Leerraum macht sie schwierig zu lesen. Ich kann einen regulären Ausdruck mit einem Debugger nicht schrittweise ausführen. Wie debütieren Experten komplexe reguläre Ausdrücke?

Reguläre Ausdrücke in einer Objective-C Cocoa-Anwendung

Anfängliches Googling gibt an, dass in einer Objective-C Cocoa-Anwendung keine regulären Methoden zum Ausführen regulärer Ausdrücke vorhanden sind. Also vier Fragen: Ist das wirklich wahr? Willst du mich veräppeln? Ok, dann gibt es eine nette Open-Source-Bibliothek, die Sie empfehlen? Was sind Wege, um nah genug zu kommen, ohne eine Bibliothek zu importieren, vielleicht mit der […]