Maison > Java > javaDidacticiel > Comment les ancres d'expression régulière '^' et '$' contrôlent-elles la correspondance des modèles ?

Comment les ancres d'expression régulière '^' et '$' contrôlent-elles la correspondance des modèles ?

Susan Sarandon
Libérer: 2024-12-29 20:32:10
original
307 Les gens l'ont consulté

How Do Regular Expression Anchors '^' and '$' Control Pattern Matching?

Comprendre les ancres d'expressions régulières : ^ et $

Dans le domaine des expressions régulières, '^' et '$' exercent un pouvoir important. Ils servent de marqueurs de limite, limitant la correspondance de motifs à des régions spécifiques d'une chaîne.

'^' (Début de l'ancre de chaîne)

L'ancre '^' correspond à la début d'une chaîne. Cela garantit que le motif est au premier plan de tout match. Prenons l'exemple :

^\w+@\w+[.]\w+
Copier après la connexion

Ce modèle correspond aux adresses e-mail telles que "john@example.com" mais pas "john@example.com.office". Sans le « ^ », l'expression régulière pourrait correspondre à « ohn@example.com » dans la chaîne la plus longue, ce qui n'est probablement pas prévu.

'$' (Ancrage de fin de chaîne)

À l'inverse, l'ancre '$' correspond à la fin d'une chaîne. Cela restreint la correspondance de modèle jusqu'à la toute fin. Par exemple :

\w+@\w+[.]\w+$
Copier après la connexion

Ce modèle garantit qu'une adresse e-mail est une correspondance isolée, et pas seulement une sous-chaîne au sein d'une chaîne plus grande.

Combinaison d'ancrage

La combinaison des ancres '^' et '$' applique une correspondance complète des chaînes. Prenons l'exemple :

^\w+@\w+[.]\w+$
Copier après la connexion

Ce modèle garantit que chaque caractère de la chaîne d'entrée correspond à un caractère du modèle. Si une partie de la chaîne tombe en dehors du modèle, aucune correspondance ne sera trouvée.

Considérations supplémentaires

  • Dans certaines implémentations, les ancres sont implicitement présentes au niveau du motif. début et fin des chaînes (par exemple, la méthode matches() de Java).
  • Le drapeau (?m), ou Pattern.MULTILINE constante, permet à '^' et '$' de faire correspondre les sauts de ligne, permettant une correspondance flexible dans les chaînes multilignes.

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