Une expression régulière est une méthode d'expression permettant d'extraire et de remplacer une partie d'une chaîne de caractères et de vérifier si la chaîne de caractères satisfait à la contrainte.
Scène utilisant des expressions régulières
Dans le cas d'un champ pour saisir un numéro de téléphone sur le formulaire d'inscription. Certaines personnes tapent avec un trait d'union, tandis que d'autres tapent sans trait d'union. Afin d'unifier le format, s'il y a un trait d'union dans le numéro de téléphone entré, il sera traité si nécessaire.
Champ de saisie:090-1234-5678
⇓ Supprimer les traits d'union
09012345678
De cette manière, la technique permettant de vérifier si un caractère spécifique est inclus dans la chaîne de caractères et d'effectuer des opérations telles que la suppression du caractère spécifique est appelée ** expression régulière **.
◾ sous-méthode ◾ méthode de correspondance
** ◾ sous **
** (Exemple) ** Remplacement de la chaîne "manger du pain" par la chaîne "manger du riz".
irb(main):001:0> str = "Manger du pain"
=> "Manger du pain"
irb(main):002:0> str.sub(/Pain/,"riz")
=> "manger du riz"
** ◾ match ** <Extraction / investigation de contraintes> La méthode match est une méthode permettant de vérifier si la chaîne de caractères spécifiée dans l'argument est incluse dans la chaîne de caractères à l'aide de la méthode. S'il est inclus, la valeur renvoyée est un objet appelé MatchData avec la chaîne spécifiée. S'il n'est pas inclus, nil est obtenu comme valeur de retour.
** (Exemple) ** Vérifiez si la chaîne de caractères "Good morning" contient la chaîne de caractères "Good"
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 La chaîne correspondante est renvoyée dans un objet de type MatchData. Si vous souhaitez extraire la chaîne de caractères correspondante de MatchData, vous pouvez l'extraire de la même manière que lors de l'extraction des premières données du tableau.
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