Maison  >  Article  >  Java  >  Quelles sont les utilisations des expressions régulières en Java

Quelles sont les utilisations des expressions régulières en Java

下次还敢
下次还敢original
2024-05-01 19:42:391094parcourir

Les expressions régulières Java sont utilisées pour les tâches de manipulation de texte, notamment la validation des entrées (telles que les adresses e-mail), l'extraction de données (telles que les entiers), le remplacement du texte, le fractionnement des chaînes, la recherche de correspondances et la création de correspondances personnalisées.

Quelles sont les utilisations des expressions régulières en Java

Utilisation d'expressions régulières en Java

Les expressions régulières (regex) sont de puissants outils de correspondance de modèles qui peuvent être utilisés pour diverses tâches de manipulation de texte en Java. Il a un large éventail d'utilisations, notamment :

1. Vérifier la saisie

  • Vérifier l'adresse e-mail : String email = "example@example.com"; -zA- Z0-9.!#$%&'*+/=?^_{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0 -9- ]{0,61}[a-zA-Z0-9])?(?:.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61 }[a -zA-Z0-9])?)*$");`String email = "example@example.com"; boolean isValid = email.matches("^[a-zA-Z0-9.!#$%&'*+/=?^_{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$");`

2. 提取数据

  • 从字符串中提取整数:String text = "The number is 123"; int number = Integer.parseInt(text.replaceAll("[^\d]", ""));

3. 替换文本

  • 替换字符串中的所有数字为 X:String text = "123abc456"; text = text.replaceAll("[0-9]", "X");

4. 分割字符串

  • 将字符串按逗号分割:String[] tokens = text.split(",");

5. 查找匹配

  • 查找字符串中以特定模式开头的行:List<String> matches = Files.lines(Paths.get("file.txt")).filter(line -> line.startsWith("PATTERN")).toList();

6. 自定义匹配器

  • 创建自定义匹配器以验证特定格式:Predicate<String> isPhoneNumber = Pattern.matches("^\(\d{3}\) \d{3}-\d{4}$");

2. Extraire les données

Extraire les entiers des chaînes : String text = "Le nombre est 123"; int number = Integer.parseInt(text.replaceAll("[^\d]", ""));

  • 3. Remplacez text
  • Remplacez tous les nombres de la chaîne par X : String text = "123abc456"; text = text.replaceAll("[0-9]", "X");

4. Divisez la chaîne par des virgules : String[] tokens = text.split(",");

    5. Rechercher des correspondances
  • Trouver des lignes commençant par un motif spécifique dans la chaîne : List< ; matches = Files.lines(Paths.get("file.txt")).filter(line -> line.startsWith("PATTERN")).toList();
  • 6. Matcher
🎜🎜🎜Créez un matcher personnalisé pour valider un format spécifique : Predicate<String> isPhoneNumber = Pattern.matches("^\(\d{3}\) \d{3}-\d {4} $");🎜🎜🎜🎜 Syntaxe 🎜🎜🎜La syntaxe des expressions régulières est basée sur les symboles suivants : 🎜🎜🎜Caractères normaux : se correspondent 🎜🎜Caractères d'échappement : échappent à la signification des caractères spéciaux 🎜🎜Symbole de modification : Spécifiez le comportement de correspondance 🎜🎜 Quantificateur : Spécifiez le nombre de correspondances 🎜🎜🎜🎜 Conseils d'utilisation 🎜🎜🎜🎜 Pensez à utiliser une bibliothèque d'expressions régulières (telle qu'Apache Commons Regex) pour simplifier les modèles complexes. 🎜🎜Testez l'expression régulière pour vous assurer qu'elle fonctionne comme prévu. 🎜🎜Utilisez des ancrages de limite appropriés pour éviter les correspondances accidentelles. 🎜🎜Évitez la surutilisation des expressions régulières car elles peuvent être inefficaces. 🎜🎜

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