Maison  >  Article  >  Java  >  Quelle est la différence entre le point normal (.) et le point de métacaractère (.) dans les expressions régulières Java ?

Quelle est la différence entre le point normal (.) et le point de métacaractère (.) dans les expressions régulières Java ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-15 04:49:02669parcourir

What's the Difference Between the Normal Dot (.) and the Metacharacter Dot (.) in Java Regular Expressions?

Caractère méta d'expression régulière Java (.) vs point ordinaire

Dans Java RegEx, le point normal (.) et le méta Le caractère (.) apparaît. Cependant, ils représentent des concepts différents.

Point normal

Le point normal correspond à un seul caractère dans une chaîne. Par exemple, l'expression régulière "a.b" correspond aux chaînes "a1b", "a3b" et "a@b".

Point de métacaractère

Le point de métacaractère est un caractère spécial qui correspond à n'importe quel caractère à l'exception des sauts de ligne. Cela inclut les caractères spéciaux, tels que les espaces, la ponctuation et les crochets. Par exemple, l'expression régulière "a(. )b" correspond à la chaîne "a 123 b" mais pas à "anb" (qui contient un saut de ligne).

Échappement des métacaractères

Pour traiter un métacaractère comme un caractère normal, il doit être échappé avec une barre oblique inverse (). Par exemple, si vous souhaitez faire correspondre un point (.) littéralement, vous utiliserez l'expression régulière "a.b". Cela échappe au point, indiquant que vous recherchez le caractère "." plutôt que le métacaractère qui correspond à n'importe quel caractère.

Échapper aux autres métacaractères

Le même principe s'applique aux autres métacaractères dans RegEx. Par exemple :

  • : Échappé comme pour correspondre au signe plus littéral ( )
  • : Échappé comme pour correspondre à l'astérisque littéral (*)
  • d: Échappé comme \d pour correspondre à n'importe quel chiffre
  • [abc]: Échappé comme [abc ] pour faire correspondre n'importe quel caractère entre crochets (par exemple, "a", "b" ou "c")

En échappant les métacaractères avec des doubles barres obliques inverses (), vous pouvez vous assurer qu'ils sont traités comme caractères normaux dans vos modèles RegEx.

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