Rumah  >  Artikel  >  Java  >  Contoh tutorial untuk mempelajari ungkapan biasa Java

Contoh tutorial untuk mempelajari ungkapan biasa Java

WBOY
WBOYasal
2024-01-09 21:33:571099semak imbas

Contoh tutorial untuk mempelajari ungkapan biasa Java

Tutorial Contoh Ungkapan Biasa Java

Ungkapan Biasa (Ekspresi Biasa) ialah alat yang berkuasa untuk memadankan rentetan, ia boleh mencari, memadankan dan Mengganti, mengekstrak dan operasi lain dengan cepat. Dalam pembangunan Java, ungkapan biasa digunakan secara meluas dalam pemprosesan rentetan, pengesahan borang, pengekstrakan data dan medan lain.

Artikel ini akan membawa anda memahami penggunaan ungkapan biasa dalam Java melalui beberapa contoh kod tertentu.

  1. Tentukan sama ada ia sepadan

Mula-mula, mari lihat contoh mudah untuk menentukan sama ada rentetan mematuhi peraturan ungkapan biasa. Kod berikut menunjukkan cara menggunakan ungkapan biasa dalam Java untuk pertimbangan yang sepadan:

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("字符串匹配失败");
        }
    }
}

Kod di atas mula-mula mentakrifkan ungkapan biasa d+ yang sepadan dengan nombor, dan kemudian menggunakan compile disusun menjadi objek Corak. Seterusnya, cipta objek Matcher melalui objek Pattern dan gunakan kaedah <code>match untuk menentukan padanan. Jika perlawanan berjaya, cetak "Padanan rentetan berjaya", jika tidak cetak "Padanan rentetan gagal". 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方法和正则表达式 [.!?]

    Cari dan Ekstrak

    🎜Selain menentukan sama ada terdapat padanan, ungkapan biasa juga boleh digunakan untuk mencari dan mengekstrak subrentetan yang sepadan dengan peraturan. Kod berikut menunjukkan cara menggunakan ungkapan biasa untuk mencari dan mengekstrak pautan URL daripada teks: 🎜rrreee🎜Kod di atas menggunakan ungkapan biasa yang sepadan dengan pautan URL https?://([w-]+.)+ [ w-]+(/[w-./?%&=]*)?, dan kemudian gunakan kaedah find kelas Matcher untuk mencari dan mengekstrak subrentetan yang sepadan dengan biasa. ungkapan . Setiap kali subrentetan yang sepadan ditemui, ia ditambahkan pada senarai dan akhirnya semua URL yang ditemui dicetak. 🎜
      🎜Penggantian dan pemisahan🎜🎜🎜Selain carian dan pengekstrakan, ungkapan biasa juga boleh digunakan untuk menggantikan dan membelah rentetan. Kod berikut menunjukkan cara menggunakan ungkapan biasa untuk menggantikan perkataan sensitif dalam teks dan menggunakan ungkapan biasa untuk memisahkan ayat: 🎜rrreee🎜Kod di atas mula-mula mentakrifkan ungkapan biasa yang sepadan dengan perkataan sensitif badword1|badword2 , dan kemudian gunakan kaedah replaceAll untuk melaksanakan operasi gantian. Gantikan perkataan sensitif dalam teks dengan *** dan cetak teks yang diganti. 🎜🎜Seterusnya, gunakan kaedah split dan ungkapan biasa [.!?] untuk melaksanakan operasi membelah, bahagikan teks kepada berbilang ayat berdasarkan tanda baca dan cetak setiap ayat . 🎜🎜Di atas ialah contoh tutorial tentang ungkapan biasa Java Melalui contoh kod tertentu, ia memperkenalkan penggunaan asas ungkapan biasa saya harap ia akan membantu semua orang memahami dan menguasai aplikasi ungkapan biasa dalam pembangunan Java. 🎜

Atas ialah kandungan terperinci Contoh tutorial untuk mempelajari ungkapan biasa Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn