Schauen wir uns reguläre Ausdrücke mit irb an.
irb
irb(main):001:0> name = "taro"
=> "taro"
irb(main):002:0> name.sub(/taro/,"kotaro")
=> "kotaro"
Ich benutze die Sub-Methode, um das Wort Taro durch Kotaro zu ersetzen. Geben Sie die Zeichenfolge an, die Sie im ersten Argument ersetzen möchten, und beschreiben Sie die konvertierte Zeichenfolge im zweiten Argument.
irb(main):004:0> name.match(/taro/)
=> #<MatchData "taro">
irb(main):005:0> name.match(/bob/)
=> nil
Ich verwende die Übereinstimmungsmethode, um zu überprüfen, ob die angegebene Zeichenfolge im Argument enthalten ist.
Wenn es enthalten ist, wird die angegebene Zeichenfolge als MatchData-Objekt zurückgegeben.
Wenn es nicht enthalten ist, wird nil zurückgegeben.
irb(main):006:0> array = name.match(/taro/)
=> #<MatchData "taro">
irb(main):007:0> array[0]
=> "taro"
Da das MatchData-Objekt ein Array ist, können Sie den Wert wie oben beschrieben abrufen.
irb(main):008:0> phoneNumber = "080-1234-5678"
=> "080-1234-5678"
irb(main):009:0> phoneNumber.gsub(/-/,"")
=> "08012345678"
Wenn Sie die Bindestriche in Ihrer Telefonnummer entfernen möchten, aber die Untermethode verwenden, wird nur der erste Bindestrich ersetzt. Verwenden Sie daher die gsub-Methode. g ist eine globale Übereinstimmung, die alle angegebenen Zeichenfolgen ersetzt, wenn sie enthalten sind.
irb(main):010:0> myPassword = "Taro0123"
=> "Taro0123"
irb(main):012:0> myPassword.match(/[a-z\d]{8,10}/i)
=> #<MatchData "Taro0123">
irb(main):013:0> myPassword.match(/[a-c\d]/i)
=> #<MatchData "a">
irb(main):014:0> myPassword.match(/[a-c\d]{8,}/i)
=> nil
・ Für [a-z] stimmt einer der Buchstaben a bis z überein.
・ \ D entspricht der Nummer
・ {8,10} stimmt mit der Zeichenfolge überein, die mindestens achtmal und höchstens zehnmal vorkommt.
・ Ich suche ohne zwischen Groß- und Kleinschreibung zu unterscheiden
ist was es bedeutet.
irb(main):015:0> myAddress = "[email protected]"
=> "[email protected]"
irb(main):016:0> myAddress.match(/@.+/)
=> #<MatchData "@gmail.jp">
irb(main):017:0>
Um die Domain Ihrer E-Mail-Adresse zu erhalten Entspricht einem einzelnen Zeichen
Vielen Dank für das Lesen dieses Artikels.
Recommended Posts