Maison > Article > développement back-end > Groupe de caractères d'expression régulière (2)
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!