This page has been robot translated, sorry for typos if any. Original content here.

8 regexpov utile avec analyse visuelle

Par sujet:


Sur la puissance et la flexibilité des expressions régulières écrites beaucoup, et leur utilisation a longtemps été une norme pour les différents types d'opérations sur le texte composé de lettres, chiffres et sivmols de service. Peut-être, le plus souvent, regexp fonctionne avec la validation (vérification) des données d'entrée - ici, ils n'ont pratiquement aucune alternative, à l'exception de lourdes fonctions d'analyse cyclique avec un tas de contrôles non évidents et incompréhensibles.

1. Partie de la CNC (URL humain-à-humain)

Полезные регэкспы с наглядным разбором

Modèle:

  / ^ [a-z0-9 -] + $ / 

En fait, le mot avec des traits d'union.

2. L'utilisateur

Полезные регэкспы с наглядным разбором

Modèle:

  / ^ [a-z0-9 _-] {3,16} $ / 

Lettres, chiffres, tirets et traits de soulignement, de 3 à 16 caractères.

3. Mot de passe

Полезные регэкспы с наглядным разбором

Modèle:

  / ^ [a-z0-9 _-] {6,18} $ / 

Identique à l'utilisateur, seulement de 6 à 18.

Plus brièvement, / ^ [\ w _] {6.18} $ / .

De même pour l'utilisateur.

4. Couleur hexagonale

Полезные регэкспы с наглядным разбором

Modèle:

  / ^ #? ([a-f0-9] {6} | [a-f0-9] {3}) $ / 

Le symbole # (facultatif), puis le mot composé de lettres de a à f ou chiffres, longueur 3 ou 6.

5. Tag XML

Полезные регэкспы с наглядным разбором

Modèle:

 /<<([az]+)([^>]+)*(?:>(.*)<\/\1>|\s+\/>)$/ 

La parenthèse d'ouverture <doit être un mot des lettres - le nom de l'élément, alors il peut y avoir des attributs - tous les caractères autres que le crochet fermant>. Suivant - tout texte (contenu) et une étiquette de fermeture, c'est-à-dire <nom />, ou au moins un espace, une barre oblique et une parenthèse de fermeture (étiquette à fermeture automatique).

6. Email

Полезные регэкспы с наглядным разбором

Modèle:

  /(([a-z0-9_\.-]+)@([a-z0-9_\.-]+)\.([az\.]{2,6})$/ 

Vue générale - login@domain.domain. Connectez-vous, ainsi que sous-domaine - mots de lettres, chiffres, traits de soulignement, tirets et points. Un domaine (ce qui signifie le 1er niveau) est de 2 à 6 lettres et points.

C'est possible plus rapidement - / ^ ([ \w\._]+)@\1\ .([ az]{2,6}\ .?) $/ .

C'est aussi un peu plus correct - un point dans le domaine de premier niveau ne peut se rencontrer qu'une seule fois et seulement à la fin.

7. URL

Полезные регэкспы с наглядным разбором

Modèle:

  /((https?:\/\/)?([\da-z\-]+)\.([az\.]{2,6})([\/\w \ .-] *) * \ /? $ / 

La première chose est un protocole optionnel (http: // ou https: //), puis une suite de lettres, chiffres, tirets, traits de soulignement et points (domaines de niveau> 1), puis un domaine zéro (de 2 à 6 lettres et points) Enfin, la structure du fichier est un ensemble de mots à partir de lettres, chiffres, tirets, traits de soulignement et points avec une barre oblique à la fin. Tout cela peut se terminer à nouveau avec une barre oblique.

Mieux alors - /^(https?:\/\/)?([\w\.]+)\.([az]{2,6}\.?)(\/[\w\.]*) * \ /? $ /

8. Adresse IP

Полезные регэкспы с наглядным разбором

Modèle:

  / ^ (? :( ?: 25 [0-5] | 2 [0-4] [0-9] | [01]? [0-9] [0-9]?) \.) {3} (?: 25 [0- 5] | 2 [0-4] [0-9] | [01]? [0-9] [0-9]?) $ / 

4 groupes de chiffres (de 1 à 3 chiffres chacun) sont séparés par des points. Si le groupe est composé de 3 caractères, le premier est 1 ou 2; si 1, alors le reste de 0 à 9, et si 2 - alors le second de 0 à 5; si le deuxième caractère est de 0 à 4, alors le troisième caractère est de 0 à 9, et si le second 5 est le troisième de 0 à 5. Si le groupe comprend 2 symboles, le premier est de 1 à 9, le second de 0 à 9 Dans le cas d'un groupe à un seul caractère, ce symbole peut être un nombre compris entre 1 et 9.

Donc c'est plus correct - / ^ (? :( ?: 25 [0-5] | 2 [0-4] \ d | [01]? \ D \ d?) \.) {3} (?: 25 [0-5] | 2 [0-4] \ d | [01]? \ d \ d?) $ / .