[RAILS] Je veux pouvoir penser et écrire moi-même des expressions régulières. ..

Qu'est-ce qu'une expression régulière?

C'est l'une des méthodes pour exprimer un ensemble de chaînes de caractères sous la forme d'une chaîne de caractères. Dans les expressions régulières, il est exprimé à l'aide d'un caractère spécial appelé "méta caractère". (Au fait, tous sont demi-largeur.)

Types et utilisation des méta-caractères

-Exemple-


je.est
#=>Je suis un oiseau, je suis un cheval, je suis 0...etc

--Début et fin de ligne "^" "$"

-Exemple-


^Merci$ 
#=>Correspond aux lignes contenant uniquement les mots "Merci"

--Répétition du même caractère "" "+" "?" ―― «» signifie qu'il n'y a pas de caractère précédent ou que le caractère précédent est un ou plusieurs caractères consécutifs. ―― «+» signifie qu'au moins un caractère doit être immédiatement avant le +, puis il est continu. ―― «?» Signifie qu'il n'y a pas de caractère précédent ou qu'un seul.

-Exemple-


Oh*je
#=>Hé, hé, hé...etc

Oh+je
#=>Hé, hé, hé...etc

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

--Toute chaîne de caractères "|"

-Exemple-


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

-Exemple-


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

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

A[A-Z0-9]CCC
#=>Rechercher des chaînes de caractères commençant par A et se terminant par CCC, le caractère suivant étant un alphabet ou un nombre majuscules demi-largeur

--Groupage "()"

-Exemple-


(À plus)+Hmm
#=>D'accord, d'accord, d'accord, d'accord...etc

demain(je|je)rentrer chez soi
#=>Je rentre à la maison demain, je rentre à la maison demain...etc

Liste des expressions régulières fréquemment utilisées


#Toutes les valeurs numériques (plein angle)
/\A[0-9]+\z/

#Toutes les valeurs numériques (demi-largeur)
/\A[0-9]+\z/

#Toutes les valeurs numériques (plein angle,Moitié de la taille)
/\A[0-90-9]+\z/

#Alphabet demi-largeur (en bas)
/\A[a-z]+\z/

#Alphabet demi-largeur (majuscule)
 /\A[A-Z]+\z/

#Alphabet demi-largeur (supérieur et inférieur)
 /\A[a-zA-Z]+\z/

#Alphabet demi-largeur (lettres minuscules / chiffres)
/\A[a-z0-9]+\z/

#Alphabet demi-largeur (majuscule / numérique)
/\A[A-Z0-9]+\z/

#Alphabet demi-largeur (supérieur / inférieur / numérique)
/\A[a-zA-Z0-9]+\z/

#Hiragana pleine largeur
/\A[Ah-Hmm-]+\z/

#Katakana pleine largeur
/\A[UNE-Voiture-]+\z/

#Hiragana pleine largeur, katakana
/\A[Ah-Hmm-Voiture-]+\z/

#Kana demi-largeur
/\A[ァ-N]+\z/

#Code postal (3 chiffres, 5 chiffres, 7 chiffres avec tiret)
/\A\d{3}-\d{4}$|^\d{3}-\d{2}$|^\d{3}\z/

#Code postal (5 chiffres avec tiret)
/\A\d{3}-\d{2}\z/

#Code postal (7 chiffres avec tiret)
/\A\d{3}-\d{4}\z/

#Code postal (3 chiffres sans tirets)
/\A\d{3}\z/

#Code postal (5 chiffres sans tirets)
/\A\d{5}\z/

#Code postal (7 chiffres sans tirets)
/\A\d{7}\z/

#numéro de téléphone(10 chiffres sans tirets)
/\A\d{10}\z/

#Numéro de téléphone portable(11 chiffres sans tirets)
/\A\d{11}\z/

#Numéro de téléphone portable(10 chiffres ou 11 chiffres sans tirets)
/\A\d{10,11}\z/

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

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

#carte de crédit(VISA,Master,Diners,Discover,Compatible Amex)
/\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/

référence

Introduction aux expressions régulières que les singes peuvent comprendre

Association Ruby: Expression régulière

Expressions régulières pour la validation de Ruby

Recommended Posts

Je veux pouvoir penser et écrire moi-même des expressions régulières. ..
Être capable d'écrire Hamcrest Matcher dans le style lambda
Je veux pouvoir transmettre des éléments qui ont été validés avec des expressions régulières même s'ils sont laissés vides
Je veux écrire un joli build.gradle
Je veux écrire un test unitaire!
[Mémorandum] J'ai commencé à travailler, donc je veux étudier les expressions régulières avec fermeté [Expressions régulières]
Je veux écrire une simple répétition d'une chaîne de caractères
Je veux être finalement même à kotlin
Je veux écrire rapidement de java vers sqlite
Je souhaite pouvoir lire des fichiers en utilisant refile avec administrate [rails6]
Je veux faire des transitions d'écran avec kotlin et java!
Je veux amener Tomcat sur le serveur et démarrer l'application
Je veux faire une liste avec kotlin et java!
Je veux appeler une méthode et compter le nombre
Je veux créer une fonction avec kotlin et java!
[jackson] Je souhaite recevoir les valeurs JSON "0" et "1" sous forme de booléen
Lorsque vous souhaitez écrire explicitement OR ou AND avec ransack
Je veux implémenter diverses fonctions avec kotlin et java!
J'ai essayé de pouvoir passer plusieurs objets avec Ractor
Je veux convertir des caractères ...
Je souhaite accorder des autorisations de modification et de suppression uniquement à l'affiche
Webpack et webpacker que je veux dire aux gens de Ruby maintenant
Je veux juste écrire Java en utilisant Eclipse sur mon Mac
Je veux revenir à l'écran précédent avec kotlin et java!
Je veux vraiment faire "new T ()"! (Et sans exceptions d'inspection)
Je souhaite effectuer un traitement asynchrone et une exécution périodique avec Rail !!!
Je veux extraire entre des chaînes de caractères avec une expression régulière
Plug-in Vuze pour écrire et profiter
Je veux écrire une JSP dans Emacs plus facilement que la valeur par défaut.
Je veux afficher des images avec REST Controller de Java et Spring!
[Administrateur actif] Je souhaite personnaliser le traitement de création et de mise à jour par défaut
[Ruby] Je souhaite extraire uniquement la valeur du hachage et uniquement la clé
Je veux passer l'argument d'Annotation et l'argument de la méthode d'appel à aspect
Écrivons 5 façons d'implémenter Java Singleton et divers avantages et inconvénients