*   >> Lecture Éducation Articles >> science >> la programmation

Construire une expression régulière dans Perl

l'utilisation de l'expression rationnelle: use strict; (my $ matchedString) = ("# 44CC88" = ~ /^ # ([\\ da-FA-F] {3} $ | [\\ da-FA-F] {6} $) /); print $ matchedString; La sortie est: 44CC88 Exemple 2 Nom utilisateur Vérifiez Spécifier la tâche en détail Supposons que nous avons un site où les utilisateurs doivent se connecter. Nous pouvons dire à l'utilisateur que son nom devrait contenir des lettres en minuscule ou majuscule et /ou des chiffres de 0 à 9 et /ou le trait de soulignement, _.

Nous insistons également pour que le nom ne doit pas être inférieure à 3 caractères ou plus que 18 caractères. Dans cet exemple, nous avons imposé les détails de spécification. Briser le problème en petites parties le nom est composé de * lettres de l'alphabet en minuscules ou supérieure entre 3 à 18 lettres, inclusivement, et /ou * chiffres de 0 à 9 entre 3 à 18 chiffres, y compris, et /ou * le trait de soulignement entre 3 à 18 chiffres, inclusivement. Cela signifie, vous pouvez avoir jusqu'à 18 caractères de soulignement pour un nom. Laissons ce que pour la simplicité.

* Nous devons limiter la chaîne à la disposition 3 ou 6 caractères. Traduire en expressions rationnelles l'expression rationnelle pour la première partie est: /^ [a-zA-Z] {} 3,18 $ /l'expression régulière pour la deuxième partie est: /^ [0-9] {} 3,18 $ /Le regex pour la troisième partie est: /^ [_] {} 3,18 $ /Combinant le Regexes Dans la section de rupture vers le bas, la troisième partie ci-dessus sont combinés avec la phrase, "et /ou" Il n'y a aucun moyen direct de faire cela, nous devons donc déduire.

Ceci est l'expression rationnelle combinée: /^ [a-zA-Z0-9 _] {} 3,18 $ /Optimisation de la Regex combinée Cela signifie raccourcir l'expression rationnelle combinée. Notez que la classe [a-zA-Z0-9_] est l'abréviation \\ w. Le regex est optimisé: /^ [\\ w] {} 3,18 $ /Revenant Nous avons vu comment faire correspondre des alternatives en utilisant le métacaractère de l'alternance, |. Lorsque correspondant alternatives, Perl utilise un processus connu sous le nom retours en arrière. Je vais illustrer cela par un exemple.

Considérons l'expression suivante: "12345" = ~ /(124 | 123) (46 | 4 | 45) /Je vais vous expliquer retour en arrière en expliquant le fonctionnement de l'expression ci-dessus. Les étapes suivantes expliquent comment PHP résout l'expression ci-dessus. A. Il commence avec le premier numéro de la chaîne disponible '1'. B. Il essaie la première alternative dans le premier groupe «124». C. Il voi

Page   <<  [1] [2] [3] [4] [5] >>
Copyright © 2008 - 2016 Lecture Éducation Articles,https://lecture.nmjjxx.com All rights reserved.