Maison > développement back-end > tutoriel php > Comment puis-je faire correspondre un modèle avec un nombre spécifique d'occurrences à l'aide d'expressions régulières ?

Comment puis-je faire correspondre un modèle avec un nombre spécifique d'occurrences à l'aide d'expressions régulières ?

Susan Sarandon
Libérer: 2024-11-11 20:47:02
original
963 Les gens l'ont consulté

How can I match a pattern with a specific number of occurrences using regular expressions?

Quantification des occurrences exactes : Regex pour des heures spécifiques

Dans les expressions régulières, nous rencontrons souvent des modèles qui nécessitent un nombre spécifique d'occurrences. Cependant, il n'existe pas de quantificateur unique qui réponde au besoin de faire correspondre un élément exactement n ou m fois.

Considérez l'expression régulière :

X{n}|X{m}
Copier après la connexion

Cette expression tente de tester l'occurrence de l’élément X exactement n ou m fois. Cependant, il utilise une combinaison de quantificateurs, qui peuvent ne pas être efficaces.

Approche alternative

Une approche alternative pour quantifier des occurrences exactes est :

X{m}(X{k})?
Copier après la connexion

Ici :

  • X{m} garantit l'occurrence de l'élément X exactement m fois.
  • (X{k}) ? est un groupe facultatif qui correspond à l'élément X k fois supplémentaires, où k est la différence entre n et m (c'est-à-dire k = n - m).

Exemple :

Pour faire correspondre un motif où l'élément "A" apparaît exactement 3 ou 5 fois, nous pouvons utiliser ce qui suit regex :

A{3}(A{2})?
Copier après la connexion

Cette regex correspondra à des chaînes comme "AAA" (3 occurrences) ou "AAAAA" (5 occurrences) mais pas "AA" ou "AAAAAAA".

Conclusion

Bien qu'il n'existe pas de quantificateur unique permettant de faire correspondre exactement n ou m occurrences, la combinaison d'accolades {n} et {m} (pour n != m) ou l'utilisation de groupes facultatifs peuvent efficacement réaliser cette fonctionnalité dans les expressions régulières.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal