[Ruby] Schließen Sie bestimmte Muster aus und ersetzen Sie sie durch reguläre Ausdrücke

Hintergrund

--http: // aaa / ccchttp: // aaa / bbb / ccc

Ich wollte einen Befehl, der in dieser Situation verwendet werden kann. Mit anderen Worten, es ist ein Ausschluss, dass es ein Muster gibt, das alles ersetzt, aber ausschließt, anstatt es zu ersetzen.

Befehl

Verwenden Sie für reguläre Ausdrücke eine negative Vorausschau

Wenn Sie beispielsweise nicht nur das bisherige Spielsystem ersetzen,

"play plays played".gsub(/play(?!ed)/, "eat")
#=> "eat eats played"

Es wird zum Befehl. In Bezug auf die obige URL,

"http://aaa/ccc".gsub(/http:\/\/aaa\/(?!bbb\/)/, "http://aaa/bbb/")
#=>"http://aaa/bbb/ccc"

"http://aaa/bbb/ccc".gsub(/http:\/\/aaa\/(?!bbb\/)/, "http://aaa/bbb/")
# => "http://aaa/bbb/ccc"

Recommended Posts

[Ruby] Schließen Sie bestimmte Muster aus und ersetzen Sie sie durch reguläre Ausdrücke
Wechseln Sie die Beans mit den kanonischen Ausdrücken @ConditionalOnExpression und SpEL
Unterscheiden Sie mit regulären Ausdrücken zwischen ganzen Zahlen und Brüchen
Über reguläre Ausdrücke in Ruby
Behandlung von Zeilenanfang und Zeilenende in regulären Ausdrücken in Ruby
Analysieren Sie japanische Adressen mit regulären Ausdrücken
Mit Rubin ● × Game und Othello (Grundlegende Bewertung)
Einfach mit regulären Java-Ausdrücken zu stolpern
Konvertieren Sie mit Ruby von JSON nach TSV und von TSV nach JSON
Reguläre Ausdrücke
[Ruby] Schlüsselwörter mit Schlüsselwörtern und Standardwerten von Argumenten
Informationen zu regulären Ruby-Ausdrücken (Metazeichen, Captures, verwandte Methoden)
Ich habe versucht, Ruby mit Ruby (und C) zu implementieren (ich habe mit Builtin gespielt)
Versuchen Sie, Ruby und Java in Dapr zu integrieren
Erstellen Sie mit Docker ein Jupyter-Notizbuch und führen Sie Ruby aus
Informationen zum regulären Ausdruck, der in der Ruby-Submethode verwendet wird