À propos des expressions régulières Ruby (méta-caractères, captures, méthodes associées)

introduction

Depuis que j'ai commencé à apprendre les expressions régulières, j'écrirai sur la façon de les utiliser comme rappel.

Exemple de code

Supposons que vous ayez un profil comme celui-ci:

text = <<TEXT
Anniversaire:Né le 6 mai 1234
Code postal:789-1111
TEXT

Si vous souhaitez extraire uniquement les chiffres de la date de naissance

(\d+)Année(\d+)Mois(\d+)journée
#=> 1234,5,6 est extrait.
#=>Ci-dessous, les kanji de la date correspondront également.
\d+Année\d+Mois\d+journée
#=>6 mai 1234

Signification des méta caractères dans les expressions régulières

** \ d ** ・ ・ ・ Nombre demi-largeur (quel que soit le chiffre) ** + ** ・ ・ ・ Le caractère ou le motif précédent est continu au moins une fois ** () ** ・ ・ ・ Capturez ou regroupez des chaînes de caractères correspondant en interne ** Année, mois, jour ** ・ ・ ・ Pas un méta-caractère, juste une chaîne de caractères

Si vous souhaitez supprimer le trait d'union "-" entre les codes postaux

p text[/\d{3}-\d{4}/].gsub('-','')
#=>7891111

Signification des méta-caractères et des méthodes dans les expressions régulières

** / (Expression régulière) / ** ・ ・ ・ Créez un objet d'expression régulière entouré de / (appelé "Littéral d'expression régulière en Ruby") ** [] ** ・ ・ ・ Méthode de classe de chaîne qui extrait la partie qui correspond à l'expression régulière de la chaîne de caractères. La méthode d'alias est la méthode ** slice **. ** {3}, {4} ** ・ ・ ・ Le caractère précédent (\ d dans ce cas) continue pour le nombre entre {}. ** - ** ・ ・ ・ Pas de méta-caractères, juste des traits d'union. (Notez que les traits d'union peuvent représenter une «plage de caractères» selon la manière dont ils sont écrits.) ** gsub ('1er argument', '2ème argument') ** ・ ・ ・ Remplacez la chaîne de caractères qui correspond au 1er argument par la chaîne de caractères du 2ème argument. Dans le cas ci-dessus, la chaîne de caractères "-" est convertie en "" (ce qui signifie suppression). La méthode ** slice ** et la méthode ** gsub ** ont chacune une "méthode destructive ()". () Une méthode qui change l'état de l'objet appelé. Ajoutez "!" À la fin.

Un outil pour tester les expressions régulières

Les expressions régulières peuvent être confirmées visuellement à l'aide d'outils qui peuvent être essayés et erronés car ils utilisent pleinement les méta-caractères. reg_exp.png

https://rubular.com/

À la fin

Expression régulière efficace pour rechercher et remplacer des chaînes de caractères. Je voulais le maîtriser dans un proche avenir, j'ai donc d'abord décrit le contenu d'apprentissage de base. Merci d'avoir lu jusqu'ici.

Recommended Posts

À propos des expressions régulières Ruby (méta-caractères, captures, méthodes associées)
À propos des expressions régulières dans Ruby
À propos des méthodes Ruby
À propos des méthodes d'instance Ruby
À propos de l'expression régulière utilisée dans la méthode ruby sub
Expressions régulières
À propos des symboles Ruby
À propos de Ruby Hash
À propos des méthodes singulières
À propos de la méthode de HttpServlet ()
À propos des tableaux Ruby
À propos de l'héritage Ruby
À propos de Ruby Block
À propos de Ruby Hash
À propos des symboles Ruby
Expression régulière Ruby