Maison >développement back-end >tutoriel php >Tutoriel sur la syntaxe de base des expressions régulières

Tutoriel sur la syntaxe de base des expressions régulières

巴扎黑
巴扎黑original
2017-09-21 11:46:151481parcourir

L'éditeur suivant vous apportera une explication détaillée de la grammaire de base des expressions régulières (un article à lire absolument). L'éditeur le trouve plutôt bon, je vais donc le partager avec vous maintenant et le donner comme référence pour tout le monde. Suivons l'éditeur et jetons un coup d'œil

1. Grammaire de base des expressions régulières

Deux symboles spéciaux '^' et '$'. . Leur fonction est d'indiquer respectivement le début et la fin d'une chaîne. Les exemples sont les suivants :

"^The" : représente toutes les chaînes commençant par "The" ("Là", "Le chat", etc.) ;

"of déspair$": représente donc une chaîne se terminant par "du désespoir" ;

"^abc$" : indique une chaîne commençant et se terminant par "abc" - haha, seulement "abc" lui-même

"avis" ; : Représente toute chaîne contenant « avis ».

Comme dans le dernier exemple, si vous n'utilisez pas deux caractères spéciaux, vous indiquez que la chaîne que vous souhaitez trouver fait partie de la chaîne recherchée - vous ne la positionnez pas en haut.

D'autres symboles incluent « * », « + » et « ? », qui représentent le nombre de fois qu'un caractère ou une séquence de caractères apparaît de manière répétée. Ils signifient respectivement « aucun ou plusieurs », « une ou plusieurs » et « aucun ou une fois ». Voici quelques exemples :

"ab*" : Indique qu'une chaîne a un a suivi de zéro ou de plusieurs b. ("a", "ab", "abbb",...);

"ab+" : Indique qu'une chaîne a un a suivi d'au moins un b ou plus ; " ab?" : Indique qu'une chaîne a un a suivi de zéro ou un b

"a?b+$" : Indique qu'il y a zéro ou un a suivi d'un ou plusieurs b à la fin de la chaîne.

Vous pouvez également utiliser des plages, entre accolades, pour indiquer la plage de répétitions.

"ab{2}" : Indique qu'une chaîne a un a suivi de 2 b ("abb");

"ab{2,}" : Indique qu'une chaîne a un a suivi d'au moins 2 b;

"ab{3,5}": Indique qu'une chaîne a un a suivi de 3 à 5 b.

Veuillez noter que vous devez préciser la limite inférieure de la plage (ex : "{0,2}" au lieu de "{,2}"). De plus, vous avez peut-être remarqué que '*', '+' et '?' sont équivalents à "{0,}", "{1,}" et "{0,1}".

Il y a aussi un '¦', qui signifie opération "ou" :

"salut¦hello" : signifie qu'il y a "salut" ou "hello" dans une chaîne

"(b¦cd)ef": signifie "bef" ou "cdef"

"(a¦b)*c": signifie une chaîne de chaînes mixtes de "a" et "b" " suivi de A "c";

'.' peut remplacer n'importe quel caractère :

"a.[0-9]" : indique qu'une chaîne a un "a" suivi d'un caractère arbitraire et un nombre ;

"^.{3}$" : indique une chaîne de trois caractères quelconques (la longueur est de 3 caractères

Les crochets indiquent que certains caractères sont autorisés) ; in a Apparaît à une position spécifique dans la chaîne :

"[ab]" : indique qu'une chaîne a un "a" ou un "b" (équivalent à "a¦b"); 🎜 >"[a-d]" : indique qu'une chaîne contient de 'a' à 'd' minuscules (équivalent à "a¦b¦c¦d" ou "[abcd]"); ^[a-zA-Z]": représente une chaîne commençant par une lettre;

"[0-9]%": représente un nombre précédé d'un signe pour cent;

", [a-zA-Z0-9]$" : Indique qu'une chaîne se termine par une virgule suivie d'une lettre ou d'un chiffre.

Vous pouvez également utiliser « ^ » entre crochets pour indiquer que les caractères indésirables « ^ » doivent être le premier entre crochets. (Par exemple : "%[^a-zA-Z]%" signifie que les lettres ne doivent pas apparaître entre les signes de deux pour cent).

Afin de l'exprimer textuellement, vous devez ajouter le caractère d'échappement '' avant ces caractères "^.$()¦*+?{".

Veuillez noter qu'entre crochets, aucun caractère d'échappement n'est requis.

2. La vérification des expressions régulières contrôle le type de caractère saisi dans la zone de texte

1. :

2. Seuls des chiffres peuvent être saisis :

3. Vous ne pouvez saisir que la pleine largeur :

4. Seuls les caractères chinois peuvent être saisis :

3. Exemples d'applications populaires d'expressions régulières Description

//Vérifiez s'il est entièrement composé de chiffres

/^[0-9]{1,20}$/

^ signifie que les caractères de départ doivent correspondre aux règles qui suivent immédiatement ^

$ signifie que les caractères de départ doivent correspondre aux règles qui précèdent immédiatement $

[ ] Le contenu de ] est le jeu de caractères facultatif

[0-9] signifie que la plage de caractères requise est comprise entre 0 et 9.

{1,20} signifie que la longueur légale de la chaîne numérique est comprise entre 1 et 20, c'est-à-dire les caractères entre [ 0-9] apparaissent. La plage de temps est de 1 à 20 fois.
/^ et $/ doivent être utilisés par paires pour indiquer que la chaîne entière doit correspondre complètement à la règle définie, plutôt que de correspondre uniquement à une sous-chaîne de la chaîne.

//Vérifier le nom de connexion : vous ne pouvez saisir que 5 à 20 chaînes commençant par des lettres, y compris des chiffres, "_" et "."

/^[a-zA -Z] {1}([a-zA-Z0-9]|[._]){4,19}$/

^[a-zA-Z]{1} signifie que le premier personnage requis est courrier.

([a-zA-Z0-9]|[._]){4,19} signifie à partir du deuxième chiffre (car il suit immédiatement l'expression précédente) d'une longueur de 4. Une chaîne de jusqu'à 9 caractères, qui doivent être composés de lettres majuscules et minuscules, de chiffres ou du jeu de caractères spécial [._].

//Vérifier le nom d'utilisateur : seules 1 à 30 chaînes commençant par des lettres peuvent être saisies

/^[a-zA-Z]{1,30}$/

//Mot de passe de vérification : seuls 6 à 20 lettres, chiffres et traits de soulignement peuvent être saisis

/^(w){6,20}$/

w : utilisé Faire correspondre les lettres et les chiffres ou souligner les caractères

//Vérifier les numéros de téléphone et de fax ordinaires : ils peuvent commencer par "+" ou des chiffres, et peuvent contenir des "-" et " "

/^[+] {0 ,1}(d){1,3}[ ]?([-]?((d)|[ ]){1,12})+$/

d : utilisé pour faire correspondre les nombres de 0 à 9;

Le métacaractère "?" stipule que l'objet principal doit apparaître zéro ou une fois dans l'objet cible

peut correspondre à des chaînes telles que : +123 -999 999 ; 999 999 ; 123 999 999 ; +123 999999 etc.

//Vérifier l'URL

/^http[s]{0,1}://.+$/ Ou /^http [s]{0,1}://.{1,n}$/ (indique que la longueur de la chaîne de l'URL est length("https://") + n )

/ : représente le caractère "/".

. Représente l'ensemble de tous les caractères

+ est équivalent à {1,}, qui va de 1 à l'infini positif.

4. Application d'expression régulière (parties communes)

"^d+$" //Entier non négatif (entier positif + 0)

"^[0-9]*[1-9][0-9]*$" //Entier positif

"^((-d+)|(0 +))$" //Entier non positif (entier négatif + 0)

"^-[0-9]*[1-9][0-9]*$" //Entier négatif

"^-?d+$"   //Entier

"^d+(.d+)?$"  //Nombre à virgule flottante non négatif (nombre à virgule flottante positif + 0)

" ^(([0-9]+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9] *.[0 -9]+)|([0-9]*[1-9][0-9]*))$" //Nombre à virgule flottante positif

"^((-d+ (.d+)? )|(0+(.0+)?))$" //Nombre à virgule flottante non positif (nombre à virgule flottante négatif + 0)

"^(-(([0 -9]+.[0- 9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+) |([0-9]* [1-9][0-9]*)))$" //Nombre à virgule flottante négatif

"^(-?d+)(.d+)?$" //Numéro à virgule flottante

"^[A-Za-z]+$" //Une chaîne composée de 26 lettres anglaises

"^[A-Z]+$" //Un caractère composée de 26 lettres anglaises majuscules Chaîne

"^[a-z]+$" // Une chaîne composée de 26 lettres anglaises minuscules

"^[A-Za-z0-9]+$ " // Une chaîne composée de chiffres et de 26 lettres anglaises

"^w+$" // Une chaîne composée de chiffres, de 26 lettres anglaises ou de traits de soulignement

"^[w-]+ ( .[w-]+)*@[w-]+(.[w-]+)+$"    //adresse e-mail

"^[a-zA-z]+://( w+ (-w+)*)(.(w+(-w+)*))*(?S*)?$"  //url

/^(d{2}|d{4})- ( (0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1 ] ))$/ // Année-mois-jour

/^((0([1-9]{1}))|(1[1|2]))/(([0- 2 ]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$/ // Mois/Jour/Année

" ^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|( ( [w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$" //Emil

"(d+-)?(d{4}-?d{7}|d{3}-?d{8}|^d{7,8})(-d+) ?"

"^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d| 25 [0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4] d |25[0-5])$" //Adresse IP

^([0-9A-F]{2})(-[0-9A-F]{2}){5} $ //Expression régulière de l'adresse MAC

^[-+]?d+(.d+)?$ //Expression régulière du type valeur

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn