Maison  >  Article  >  développement back-end  >  Groupe de caractères d'expression régulière (2)

Groupe de caractères d'expression régulière (2)

巴扎黑
巴扎黑original
2017-04-20 18:04:361449parcourir

Identifier les doublons

À présent, vous savez déjà comment faire correspondre une lettre ou un chiffre, mais le plus souvent, vous souhaiterez peut-être faire correspondre un mot ou un groupe de chiffres. Un mot est composé de plusieurs lettres et un groupe de nombres est constitué de plusieurs nombres singuliers. Les accolades ({}) qui suivent un caractère ou un groupe de caractères sont utilisées pour déterminer le nombre de fois que le contenu précédent est répété.

Signification du groupe de caractères

^[a-zA-Z_]$ Toutes les lettres et traits de soulignement

^[[:alpha:]]{ 3 }$ Tous les mots de 3 lettres

^a$ lettre a

^a{4}$ aaaa

^a{2,4}$ aa, aaa ou aaaa

^a{1,3}$ a,aa ou aaa

^a{2,}$ Une chaîne contenant plus de deux a

^a{2, } Tels que : oryctérope et aaab, mais pas pomme

a{2,} Tels que : baad et aaa, mais pas Nantucket

t{2} Deux caractères de tabulation

.{2} Les deux caractères

Ces exemples décrivent trois utilisations différentes des accolades. Un nombre, {x} signifie « le caractère ou le groupe de caractères précédent apparaît seulement x fois » ; un nombre plus une virgule, {x,} signifie « le contenu précédent apparaît x fois ou plus » ; ,y} signifie "le contenu précédent apparaît au moins x fois, mais pas plus de y fois". Nous pouvons étendre le modèle à plus de mots ou de chiffres :

^[a-zA-Z0-9_]{1,}$ //Toutes les chaînes contenant plus d'une lettre, un chiffre ou un trait de soulignement

^[0-9]{1,}$ //Tous les nombres positifs

^-{0,1}[0-9]{1,}$ //Tous les nombres entiers

^-{0,1}[0-9]{0,}.{0,1}[0-9]{0,}$ //Toutes les décimales

Enfin Un exemple n'est pas facile à comprendre , c'est ça ? Regardez-le de cette façon : avec tout commençant par un signe négatif facultatif (-{0,1}) (^), suivi de 0 chiffre ou plus ([0-9]{0,}) et d'un point décimal facultatif. (.{0,1}) suivi de 0 chiffre ou plus ([0-9]{0,}) et rien d'autre ($). Ci-dessous, vous découvrirez les méthodes les plus simples que vous pouvez utiliser.

Le caractère spécial "?" est égal à {0,1}, ils représentent tous deux : "0 ou 1 contenu précédent" ou "le contenu précédent est facultatif". Ainsi, l'exemple que nous venons de présenter peut être simplifié comme suit :

^-?[0-9]{0,}.?[0-9]{0,}$

Les caractères spéciaux " *" et {0,} sont égaux, ils représentent tous deux "0 ou plusieurs contenus précédents". Enfin, le caractère "+" est égal à {1,}, ce qui signifie "un ou plusieurs contenus précédents", donc les 4 exemples ci-dessus peuvent s'écrire ainsi :

^[a-zA-Z0- 9_ ]+$ //Toutes les chaînes contenant plus d'une lettre, un chiffre ou un trait de soulignement

^[0-9]+$ //Tous les nombres positifs

^-?[0 -9]+ $ //Tous les entiers

^-?[0-9]*.?[0-9]*$ //Tous les décimaux

Bien sûr, cela ne suit pas Réduit techniquement la complexité de expressions régulières, mais les rend plus faciles à lire.

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