Maison Java javaDidacticiel Expressions régulières en Java

Expressions régulières en Java

Jun 08, 2023 pm 08:37 PM
匹配模式 java正则表达式 字符串匹配

Java est un langage de programmation largement utilisé qui offre de puissantes capacités de traitement de caractères, notamment la possibilité d'utiliser des expressions régulières. Les expressions régulières sont un outil de correspondance de modèles très utile pour rechercher, remplacer, valider et extraire rapidement des modèles et des données spécifiques lorsque vous travaillez avec du texte et des chaînes.

Les expressions régulières en Java utilisent le package java.util.regex. Les classes de ce package incluent Pattern et Matcher, qui fournissent les fonctionnalités de base des expressions régulières. Nous présenterons leur utilisation plus en détail dans les articles suivants.

  1. Classe Pattern

La classe Pattern est une représentation compilée d'une expression régulière. Nous utilisons la méthode Pattern.compile() pour compiler l'expression régulière et obtenir un objet Pattern. Par exemple, le code suivant compilera une expression régulière qui correspond à des nombres :

Pattern pattern = Pattern.compile("\d+");
Copier après la connexion

Dans cet exemple, nous avons utilisé l'expression régulière d+ pour faire correspondre un ou plusieurs nombres consécutifs. Le d dans cette expression régulière représente n'importe quel nombre et + représente la correspondance d'un ou plusieurs caractères précédents.

  1. Classe Matcher

La classe Matcher est un outil permettant de faire correspondre les chaînes d'entrée. Nous utilisons des méthodes de cette classe pour effectuer des opérations de correspondance telles que find(), matches() et replaceAll(). Après avoir créé l’objet Pattern, nous pouvons le faire correspondre à la chaîne à laquelle nous souhaitons faire correspondre.

Par exemple, le code suivant fera correspondre tous les nombres d'une chaîne d'entrée et l'imprimera :

String input = "123-456-7890";
Pattern pattern = Pattern.compile("\d+");
Matcher matcher = pattern.matcher(input);
while (matcher.find()) {
    System.out.println(matcher.group());
}
Copier après la connexion

Dans cet exemple, nous définissons d'abord une entrée String, puis utilisez la méthode Pattern.compile() pour créer un objet Pattern qui représente une expression régulière correspondant à un ou plusieurs nombres. Ensuite, nous utilisons un objet Matcher pour rechercher tous les nombres correspondants à partir de la chaîne d'entrée et les imprimer un par un à l'aide d'une boucle while.

  1. Syntaxe d'expression régulière couramment utilisée

L'expression régulière est un puissant outil de correspondance de modèles :# 🎜🎜##. 🎜🎜#

String : Dans les expressions régulières, vous pouvez utiliser des chaînes littérales pour faire correspondre des chaînes. Par exemple, l'expression « bonjour » correspondra à n'importe quelle chaîne contenant le mot « bonjour ».
  • Classe de caractères : La classe de caractères est une règle de correspondance contenant plusieurs caractères dans une expression régulière. Par exemple, [abc] correspond à l'un des caractères a, b ou c.
  • Plage : Vous pouvez utiliser des plages pour spécifier un ensemble de caractères dans une classe de caractères. Par exemple, [0-9] correspond à n'importe quel nombre compris entre 0 et 9.
  • Métacaractères : Les métacaractères sont des caractères spéciaux dans les expressions régulières. Voici quelques métacaractères couramment utilisés :
  • Correspond à n'importe quel caractère.
    • d correspond à n'importe quel numéro.
    • w correspond à n'importe quel caractère de mot.
    • s correspond à n'importe quel caractère spatial.
    Qualifier : Vous pouvez utiliser des qualificatifs pour spécifier le nombre de modèles correspondants. Par exemple, * correspond au caractère précédent zéro ou plusieurs fois, + correspond à une ou plusieurs fois et ? correspond à zéro ou une fois.
Conclusion
  1. Les expressions régulières en Java fournissent des outils de correspondance de modèles rapides et flexibles. Nous pouvons utiliser les classes Pattern et Matcher pour compiler et exécuter des expressions régulières, et utiliser une syntaxe d'expression régulière commune pour implémenter les opérations de correspondance de modèles dont nous avons besoin. La maîtrise de ces outils et de cette syntaxe améliorera considérablement l'efficacité et la qualité de notre traitement des chaînes et du texte.

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 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

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment optimiser les performances de correspondance et de remplacement de chaînes dans le développement Java Comment optimiser les performances de correspondance et de remplacement de chaînes dans le développement Java Jun 29, 2023 am 09:10 AM

Comment optimiser les performances de correspondance et de remplacement de chaînes dans le développement Java

Comment implémenter l'algorithme KMP en C# Comment implémenter l'algorithme KMP en C# Sep 19, 2023 pm 01:31 PM

Comment implémenter l'algorithme KMP en C#

PHP renvoie la longueur de la première chaîne qui correspond au masque dans la chaîne PHP renvoie la longueur de la première chaîne qui correspond au masque dans la chaîne Mar 21, 2024 pm 09:31 PM

PHP renvoie la longueur de la première chaîne qui correspond au masque dans la chaîne

Comment utiliser des expressions régulières dans le langage Go pour la correspondance de chaînes Comment utiliser des expressions régulières dans le langage Go pour la correspondance de chaînes Jul 12, 2023 pm 02:15 PM

Comment utiliser des expressions régulières dans le langage Go pour la correspondance de chaînes

Comment traiter des chaînes à l'aide d'expressions régulières en PHP Comment traiter des chaînes à l'aide d'expressions régulières en PHP Jun 24, 2023 am 11:58 AM

Comment traiter des chaînes à l'aide d'expressions régulières en PHP

Classe PatternSyntaxException dans les expressions régulières Java Classe PatternSyntaxException dans les expressions régulières Java Sep 11, 2023 pm 07:37 PM

Classe PatternSyntaxException dans les expressions régulières Java

Guide d'utilisation avancée des expressions régulières Java Guide d'utilisation avancée des expressions régulières Java Jan 09, 2024 am 09:57 AM

Guide d'utilisation avancée des expressions régulières Java

Comment utiliser des expressions régulières en Python pour la correspondance de chaînes Comment utiliser des expressions régulières en Python pour la correspondance de chaînes Oct 19, 2023 am 09:42 AM

Comment utiliser des expressions régulières en Python pour la correspondance de chaînes

See all articles