Maison  >  Article  >  Java  >  Exemple de tutoriel pour apprendre les expressions régulières Java

Exemple de tutoriel pour apprendre les expressions régulières Java

WBOY
WBOYoriginal
2024-01-09 21:33:571099parcourir

Exemple de tutoriel pour apprendre les expressions régulières Java

Tutoriel d'exemple d'expression régulière Java

L'expression régulière (expression régulière) est un outil puissant pour faire correspondre des chaînes. Il peut rapidement rechercher, faire correspondre et remplacer, extraire et d'autres opérations. Dans le développement Java, les expressions régulières sont largement utilisées dans le traitement des chaînes, la validation des formulaires, l'extraction de données et d'autres domaines.

Cet article vous amènera à comprendre l'utilisation des expressions régulières en Java à travers quelques exemples de code spécifiques.

  1. Déterminer si elle correspond

Tout d'abord, regardons un exemple simple pour déterminer si une chaîne est conforme aux règles des expressions régulières. Le code suivant montre comment utiliser des expressions régulières en Java pour faire correspondre le jugement :

import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class RegexExample {
    public static void main(String[] args) {
        String regex = "\d+"; // 匹配数字的正则表达式
        String text = "12345";

        // 使用Pattern类和Matcher类进行匹配判断
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(text);

        if (matcher.matches()) {
            System.out.println("字符串匹配成功");
        } else {
            System.out.println("字符串匹配失败");
        }
    }
}

Le code ci-dessus définit d'abord une expression régulière d+ qui correspond aux nombres, puis utilise le compile est compilée dans un objet Pattern. Ensuite, créez un objet Matcher via l'objet Pattern et utilisez la méthode <code>matches pour déterminer la correspondance. Si la correspondance est réussie, imprimez "Correspondance de chaîne réussie", sinon imprimez "Échec de la correspondance de chaîne". d+,然后使用Pattern类的compile方法编译成Pattern对象。接着,通过Pattern对象创建Matcher对象,并使用matches方法进行匹配判断。如果匹配成功,打印“字符串匹配成功”,否则打印“字符串匹配失败”。

  1. 查找与提取

除了判断是否匹配,正则表达式还可以用于查找与提取符合规则的子字符串。以下代码演示了如何使用正则表达式在文本中查找与提取URL链接:

import java.util.regex.Pattern;
import java.util.regex.Matcher;
import java.util.List;
import java.util.ArrayList;

public class RegexExample {
    public static void main(String[] args) {
        String regex = "https?://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?"; // 匹配URL链接的正则表达式
        String text = "Visit my website at https://www.example.com";

        // 使用Pattern类和Matcher类进行查找和提取
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(text);
        List<String> urls = new ArrayList<>();

        while (matcher.find()) {
            String url = matcher.group();
            urls.add(url);
        }

        System.out.println("找到以下URL链接:");
        for (String url : urls) {
            System.out.println(url);
        }
    }
}

以上代码使用了一个匹配URL链接的正则表达式 https?://([w-]+.)+[w-]+(/[w-./?%&=]*)?,然后使用Matcher类的find方法查找与提取符合正则表达式的子字符串。每次找到匹配的子字符串后,将其添加到列表中,最后打印出所有找到的URL链接。

  1. 替换与分割

除了查找与提取,正则表达式还可以用于替换和分割字符串。以下代码演示了如何使用正则表达式替换文本中的敏感词,并使用正则表达式分割句子:

import java.util.regex.Pattern;

public class RegexExample {
    public static void main(String[] args) {
        String regex = "badword1|badword2"; // 匹配敏感词的正则表达式
        String text = "This is a badword1 and badword2 example";

        // 使用正则表达式进行替换
        String replacedText = text.replaceAll(regex, "***");
        System.out.println("替换后的文本:" + replacedText);

        // 使用正则表达式进行分割
        String[] sentences = text.split("[.!?]");
        System.out.println("分割后的句子:");
        for (String sentence : sentences) {
            System.out.println(sentence.trim());
        }
    }
}

以上代码首先定义了一个匹配敏感词的正则表达式 badword1|badword2,然后使用replaceAll方法进行替换操作。将文本中的敏感词替换为***,并打印替换后的文本。

接着,使用split方法和正则表达式 [.!?]

    Rechercher et extraire

    🎜En plus de déterminer s'il existe une correspondance, les expressions régulières peuvent également être utilisées pour rechercher et extraire des sous-chaînes qui correspondent aux règles. Le code suivant montre comment utiliser des expressions régulières pour rechercher et extraire des liens URL à partir d'un texte : 🎜rrreee🎜Le code ci-dessus utilise une expression régulière qui correspond aux liens URL https?://([w-]+.)+ [ w-]+(/[w-./?%&=]*)?, puis utilisez la méthode find de la classe Matcher pour rechercher et extraire les sous-chaînes qui correspondent au standard expression . Chaque fois qu'une sous-chaîne correspondante est trouvée, elle est ajoutée à la liste et enfin toutes les URL trouvées sont imprimées. 🎜
      🎜Remplacement et fractionnement🎜🎜🎜En plus de la recherche et de l'extraction, les expressions régulières peuvent également être utilisées pour remplacer et diviser des chaînes. Le code suivant montre comment utiliser des expressions régulières pour remplacer des mots sensibles dans un texte et utiliser des expressions régulières pour diviser des phrases : 🎜rrreee🎜Le code ci-dessus définit d'abord une expression régulière qui correspond aux mots sensibles badword1|badword2 , et utilisez ensuite la méthode replaceAll pour effectuer l'opération de remplacement. Remplacez les mots sensibles dans le texte par *** et imprimez le texte remplacé. 🎜🎜Ensuite, utilisez la méthode split et l'expression régulière [.!?] pour effectuer l'opération de fractionnement, divisez le texte en plusieurs phrases en fonction des signes de ponctuation et imprimez chaque phrase . 🎜🎜Ce qui précède est un exemple de didacticiel sur les expressions régulières Java. À travers des exemples de code spécifiques, il présente l'utilisation de base des expressions régulières. J'espère qu'il aidera tout le monde à comprendre et à maîtriser l'application des expressions régulières dans le développement Java. 🎜

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