[RAILS] Ich möchte in der Lage sein, selbst reguläre Ausdrücke zu denken und zu schreiben. ..

Was ist ein regulärer Ausdruck?

Dies ist eine der Methoden, um einen Satz von Zeichenfolgen als eine Zeichenfolge auszudrücken. In regulären Ausdrücken werden Sonderzeichen verwendet, die als "Metazeichen" bezeichnet werden. (Übrigens sind alle halb so breit.)

Typen und Verwendung von Metazeichen

--Jedes einzelne Zeichen "." ――Mit der halben Breite "." Können Sie ein beliebiges Zeichen ausdrücken.

-Beispiel-


ich.ist
#=>Ich bin ein Vogel, ich bin ein Pferd, ich bin 0...etc

-Beispiel-


^Vielen Dank$ 
#=>Ordnet Zeilen nur den Worten "Danke" zu.

--Wiederholung des gleichen Zeichens "" "+" "?" ―― “” bedeutet, dass kein vorheriges Zeichen vorhanden ist oder dass das vorherige Zeichen ein oder mehrere aufeinanderfolgende Zeichen ist. ―― „+“ bedeutet, dass mindestens ein Zeichen unmittelbar vor dem + stehen muss und dann fortlaufend ist. ―― “?” Bedeutet, dass es keinen oder nur einen vorherigen Charakter gibt.

-Beispiel-


Oh*ich
#=>Hey Hey Hey...etc

Oh+ich
#=>Hey Hey Hey...etc

Oh?ich
#=>Hey, hey...etc

-Beispiel-


IBM|Microsoft|Apple|Netscape
#=>IBM Microsoft Apple Netscape

--Jedes der angegebenen Zeichen "[]" -Die in [] enthaltenen Zeichen stimmen mit einem der Zeichen überein. -In [] werden Metazeichen als normale Zeichen erkannt.

-Beispiel-


A[A-Z]CCC
#=>A[ABCDEFGHIJKLMNOPQRSTUVWXYZ]CCC 

A[0-9]CCC
#=>A[0123456789]CCC

A[A-Z0-9]CCC
#=>Suchen Sie nach Zeichenfolgen, die mit A beginnen und mit CCC enden, wobei das nächste Zeichen ein Alphabet oder eine Zahl in halber Breite ist

--Gruppierung "()"

-Beispiel-


(Wir sehen uns)+Hmm
#=>Okay, okay, okay, okay...etc

Morgen(ich|ich)Nach Hause gehen
#=>Ich gehe morgen nach Hause, ich gehe morgen nach Hause...etc

Liste häufig verwendeter regulärer Ausdrücke


#Alle Zahlenwerte (voller Winkel)
/\A[0-9]+\z/

#Alle Zahlenwerte (halbe Breite)
/\A[0-9]+\z/

#Alle Zahlenwerte (voller Winkel,Halbe Grösse)
/\A[0-90-9]+\z/

#Alphabet halber Breite (unten)
/\A[a-z]+\z/

#Alphabet halber Breite (Großbuchstaben)
 /\A[A-Z]+\z/

#Alphabet halber Breite (oben und unten)
 /\A[a-zA-Z]+\z/

#Alphabet halber Breite (untere Buchstaben / Zahlen)
/\A[a-z0-9]+\z/

#Alphabet halber Breite (oben / numerisch)
/\A[A-Z0-9]+\z/

#Alphabet halber Breite (oben / unten / numerisch)
/\A[a-zA-Z0-9]+\z/

#Hiragana in voller Breite
/\A[Ah-Hmm-]+\z/

#Katakana in voller Breite
/\A[EIN-Wagen-]+\z/

#Hiragana in voller Breite, Katakana
/\A[Ah-Hmm-Wagen-]+\z/

#Kana in halber Breite
/\A[ァ-N.]+\z/

#Postleitzahl (3 Ziffern, 5 Ziffern, 7 Ziffern mit Bindestrich)
/\A\d{3}-\d{4}$|^\d{3}-\d{2}$|^\d{3}\z/

#Postleitzahl (5 Ziffern mit Bindestrich)
/\A\d{3}-\d{2}\z/

#Postleitzahl (7 Ziffern mit Bindestrich)
/\A\d{3}-\d{4}\z/

#Postleitzahl (3 Ziffern ohne Bindestriche)
/\A\d{3}\z/

#Postleitzahl (5 Ziffern ohne Bindestriche)
/\A\d{5}\z/

#Postleitzahl (7 Ziffern ohne Bindestriche)
/\A\d{7}\z/

#Telefonnummer(10 Ziffern ohne Bindestriche)
/\A\d{10}\z/

#Handynummer(11 Ziffern ohne Bindestriche)
/\A\d{11}\z/

#Handynummer(10 Ziffern oder 11 Ziffern ohne Bindestriche)
/\A\d{10,11}\z/

# e-mail
 /\A\S+@\S+\.\S+\z/

# URL
/\Ahttps?:\/\/([\w-]+\.)+[\w-]+(\/[\w-.\/?%&=]*)?/

#Kreditkarte(VISA,Master,Diners,Discover,Amex-kompatibel)
/\A(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6011[0-9]{12}|3(?:0[0-5]|[68][0-9])[0-9]{11}|3[47][0-9]{13})\z/

Referenz

Einführung in reguläre Ausdrücke, die Affen verstehen können

Ruby Association: Regular Expression

Reguläre Ausdrücke zur Validierung von Ruby

Recommended Posts

Ich möchte in der Lage sein, selbst reguläre Ausdrücke zu denken und zu schreiben. ..
Schreiben Sie Hamcrest Matcher im Lambda-Stil
Ich möchte in der Lage sein, Elemente zu übergeben, die mit regulären Ausdrücken validiert wurden, auch wenn sie leer bleiben
Ich möchte ein schönes build.gradle schreiben
Ich möchte einen Unit Test schreiben!
[Memorandum] Ich habe angefangen zu arbeiten, deshalb möchte ich reguläre Ausdrücke genau studieren. [Reguläre Ausdrücke]
Ich möchte eine einfache Wiederholung einer Zeichenkette schreiben
Ich möchte irgendwann sogar in Kotlin sein
Ich möchte schnell von Java nach SQLite schreiben
Ich möchte in der Lage sein, Dateien mit refile mit administrate [rails6] zu lesen.
Ich möchte Bildschirmübergänge mit Kotlin und Java machen!
Ich möchte Tomcat auf den Server bringen und die Anwendung starten
Ich möchte eine Liste mit Kotlin und Java erstellen!
Ich möchte eine Methode aufrufen und die Nummer zählen
Ich möchte eine Funktion mit Kotlin und Java erstellen!
[jackson] Ich möchte die JSON-Werte "0" und "1" als Booleschen Wert erhalten
Wenn Sie explizit ODER oder UND mit Ransack schreiben möchten
Ich möchte verschiedene Funktionen mit Kotlin und Java implementieren!
Ich habe versucht, mit Ractor mehrere Objekte übergeben zu können
Ich möchte Zeichen konvertieren ...
Ich möchte nur dem Poster Bearbeitungs- und Löschberechtigungen erteilen
Webpack und Webpacker, die ich Ruby-Leuten jetzt erzählen möchte
Ich möchte nur Java mit Eclipse auf meinem Mac schreiben
Ich möchte mit Kotlin und Java zum vorherigen Bildschirm zurückkehren!
Ich möchte wirklich "new T ()" machen! (Und ohne Inspektionsausnahmen)
Ich möchte eine asynchrone Verarbeitung und periodische Ausführung mit Rail durchführen !!!
Ich möchte mit einem regulären Ausdruck zwischen Zeichenketten extrahieren
Vuze Plug-In zum Schreiben und Genießen
Ich möchte JSP in Emacs einfacher als die Standardeinstellung schreiben.
Ich möchte Bilder mit REST Controller von Java und Spring anzeigen!
[Active Admin] Ich möchte die Standardverarbeitung zum Erstellen und Aktualisieren anpassen
[Ruby] Ich möchte nur den Wert des Hash und nur den Schlüssel extrahieren
Ich möchte das Argument der Annotation und das Argument der aufrufenden Methode an den Aspekt übergeben
Schreiben wir 5 Möglichkeiten zur Implementierung von Java Singleton und verschiedene Vor- und Nachteile