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

8 expressions rationnelles utiles avec analyse visuelle

Par sujet:


On a beaucoup écrit sur le pouvoir et la souplesse des expressions régulières et leur utilisation est depuis longtemps une norme pour divers types d'opérations sur du texte composé de lettres, de chiffres et de lettres de service. Peut-être, le plus souvent, les expressions rationnelles fonctionnent-elles lors de la validation (vérification) des données d'entrée - il n'y a pratiquement aucune alternative à celles-ci, à l'exception d'un encombrement cyclique fastidieux avec des fonctions comportant de nombreuses vérifications non évidentes et incompréhensibles.

1. Pièce CNC (URL lisible par l'homme)

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

Modèle:

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

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

2. Nom d'utilisateur

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

Modèle:

  / ^ [a-z0-9 _-] {3.16} $ / 

Lettres, chiffres, traits d'union et traits de soulignement, de 3 à 16 caractères.

3. mot de passe

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

Modèle:

  / ^ [a-z0-9 _-] {6.18} $ / 

Identique au nom d'utilisateur, uniquement de 6 à 18 ans.

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

De même pour le nom d'utilisateur.

4. Couleur Hex

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

Modèle:

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

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

5. balise XML

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

Modèle:

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

Derrière le crochet d’ouverture <il devrait y avoir un mot de lettres - le nom de l’élément, puis il peut y avoir des attributs - n’importe quel caractère sauf le crochet de fermeture>. En outre, tout texte (contenu) et balise de fermeture, c.-à-d. <name />, ou au moins un espace, une barre oblique et un crochet de fermeture (balise à fermeture automatique).

6. Email

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

Modèle:

  / ^ ([a-z0-9 _ \ .- [+) @ ([a-z0-9 _ \ .- [+)]. ([az \. Page (2,6,6)) 

Vue générale - login@poddomain.domain. Login, ainsi qu'un sous-domaine - mots de lettres, chiffres, traits de soulignement, traits d'union et points. Et un domaine (signifiant 1er niveau) comprend de 2 à 6 lettres et points.

Il peut être plus court - /^([\w\.__++) @ \ 1 \ . ( [× Valeur A2,6,6_ .

C'est aussi un peu plus correct: un point dans un domaine de premier niveau ne peut apparaître qu'une seule fois et à la fin.

7. URL

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

Modèle:

  / ^ (https?: \ / \ /)? ((\\\ - \\ - ++ \\. ([az \. [2,6,6 [/ i]))) (([\\\ \ .-] *) * \ /? $ / 

Tout d'abord, un protocole optionnel (http: // ou https: //), puis une séquence de lettres, chiffres, traits d'union, traits de soulignement et points (domaines de niveau> 1), puis un domaine de niveau zéro (de 2 à 6 lettres et points) et, Enfin, la structure de fichier est un ensemble de mots à partir de lettres, de chiffres, de traits d'union, de soulignés et de points suivis d'une barre oblique à la fin. Tout cela peut se terminer par un slash à nouveau.

Mieux vaut comme ça - / ^ ( https?: \ / \ /)? ( ( \\\\\ +) \. ( [Az [22,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 nombres (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 compris entre 0 et 4, le troisième entre 0 et 9 et si le deuxième est 5, le troisième entre 0 et 5. Si le groupe est composé de 2 caractères, le premier entre 1 et 9, le deuxième entre 0 et 9 Dans le cas d'un groupe d'un caractère, ce symbole peut être un chiffre compris entre 1 et 9.

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