Ein regulärer Ausdruck ist eine Ausdrucksmethode zum Extrahieren und Ersetzen eines Teils einer Zeichenfolge und zum Überprüfen, ob die Zeichenfolge die Einschränkung erfüllt.
Szene mit regulären Ausdrücken
Im Falle eines Feldes geben Sie eine Telefonnummer in das Registrierungsformular ein. Einige Leute tippen mit einem Bindestrich, während andere ohne Bindestrich tippen. Um das Format zu vereinheitlichen, wird ein eingegebener Bindestrich in der Telefonnummer nach Bedarf verarbeitet.
Eingabefeld:090-1234-5678
⇓ Bindestriche entfernen
09012345678
Auf diese Weise wird die Technik zum Überprüfen, ob ein bestimmtes Zeichen in der Zeichenfolge enthalten ist, und zum Ausführen von Operationen wie dem Entfernen des bestimmten Zeichens als ** regulärer Ausdruck ** bezeichnet.
◾ Untermethode ◾ Match-Methode
** ◾ sub **
** (Beispiel) ** Die Zeichenfolge "Brot essen" wurde durch die Zeichenfolge "Reis essen" ersetzt.
irb(main):001:0> str = "Iss Brot"
=> "Iss Brot"
irb(main):002:0> str.sub(/Brot/,"Reis")
=> "Reis essen"
** ◾ Übereinstimmung ** <Extraktions- / Einschränkungsuntersuchung> Die Übereinstimmungsmethode ist eine Methode zum Überprüfen, ob die im Argument angegebene Zeichenfolge mithilfe der Methode in der Zeichenfolge enthalten ist. Wenn es enthalten ist, ist der zurückgegebene Wert ein Objekt namens MatchData mit der angegebenen Zeichenfolge. Wenn nicht enthalten, wird Null als Rückgabewert erhalten.
** (Beispiel) ** Überprüfen Sie, ob die Zeichenfolge "Guten Morgen" die Zeichenfolge "Gut" enthält.
irb(main):001:0> str = "Good morning"
=> "Good morning"
irb(main):002:0> str.match(/Good/)
=> #<MatchData "Good">
irb(main):003:0> str.match(/Hello/)
=> nil
MatchData Die übereinstimmende Zeichenfolge wird in einem Objekt vom Typ MatchData zurückgegeben. Wenn Sie die tatsächlich übereinstimmende Zeichenfolge aus MatchData extrahieren möchten, können Sie sie auf dieselbe Weise extrahieren wie beim Extrahieren der ersten Daten aus dem Array.
irb(main):001:0> str = "good morning"
=> "good morning"
irb(main):002:0> md = str.match(/good/)
=> #<MatchData "good">
irb(main):003:0> md[0]
=> "good"
Recommended Posts