Rumah  >  Artikel  >  Java  >  Gunakan fungsi String.matches() Java untuk menentukan sama ada rentetan sepadan dengan ungkapan biasa yang ditentukan

Gunakan fungsi String.matches() Java untuk menentukan sama ada rentetan sepadan dengan ungkapan biasa yang ditentukan

王林
王林asal
2023-07-26 18:17:332859semak imbas

Gunakan fungsi String.matches() Java untuk menentukan sama ada rentetan sepadan dengan ungkapan biasa yang ditentukan

Di Java, kita selalunya perlu melakukan beberapa operasi padanan corak pada rentetan. Ungkapan biasa ialah alat yang sangat berkuasa untuk menerangkan dan memadankan corak rentetan. Kelas String dalam Java menyediakan kaedah yang sangat mudah padanan() untuk menentukan sama ada rentetan sepadan dengan ungkapan biasa yang ditentukan.

Mari kita lihat cara menggunakan fungsi String.matches() untuk menentukan sama ada rentetan sepadan dengan ungkapan biasa dan fahami penggunaannya melalui beberapa kod sampel.

Pertama, kita perlu menjelaskan definisi fungsi String.matches():
boolean matches(String regex)
Kaedah ini sepadan dengan ungkapan biasa yang diberikan dengan rentetan. Nilai pulangan benar menunjukkan padanan yang berjaya, jika tidak ia menunjukkan padanan yang gagal.

Seterusnya, mari kita lihat beberapa kod sampel untuk lebih memahami kaedah menggunakan fungsi String.matches():

Contoh 1: Tentukan sama ada untuk memadankan nombor telefon bimbit

public class StringMatchExample {
    public static void main(String[] args) {
        String phoneNumber1 = "12345678900";
        String phoneNumber2 = "0987654321";
        String phoneNumber3 = "1234567";
        
        String regex = "1[345789]\d{9}";
        
        System.out.println(phoneNumber1.matches(regex)); // true
        System.out.println(phoneNumber2.matches(regex)); // false
        System.out.println(phoneNumber3.matches(regex)); // false
    }
}

Dalam contoh di atas, kami mentakrifkan A ungkapan biasa 1[345789]d{9} untuk memadankan nombor telefon mudah alih di tanah besar China. Kami menggunakan tiga pembolehubah rentetan phoneNumber1, phoneNumber2 dan phoneNumber3 untuk menguji sama ada ia sepadan. Mengikut keputusan yang dijalankan, dapat dilihat bahawa phoneNumber1 berjaya dipadankan, tetapi phoneNumber2 dan phoneNumber3 gagal sepadan. 1[345789]d{9}来匹配中国大陆地区的手机号码。我们分别用三个字符串变量phoneNumber1、phoneNumber2和phoneNumber3来测试是否匹配。根据运行结果可以看到phoneNumber1匹配成功,而phoneNumber2和phoneNumber3匹配失败。

示例2:判断是否匹配邮箱地址

public class StringMatchExample {
    public static void main(String[] args) {
        String email1 = "abc123@gmail.com";
        String email2 = "abc@123@gmail.com";
        String email3 = "abc123@.com";
        
        String regex = "\w+@(\w+.)+[a-z]{2,3}";
        
        System.out.println(email1.matches(regex)); // true
        System.out.println(email2.matches(regex)); // false
        System.out.println(email3.matches(regex)); // false
    }
}

在上面的例子中,我们用正则表达式w+@(w+.)+[a-z]{2,3}

Contoh 2: Tentukan sama ada untuk memadankan alamat e-mel

rrreee

Dalam contoh di atas, kami menggunakan ungkapan biasa w+@(w+.)+[a-z]{2,3} untuk memadankan alamat emel. Kami menggunakan tiga pembolehubah rentetan e-mel1, e-mel2 dan e-mel3 untuk menguji sama ada ia sepadan. Mengikut keputusan yang dijalankan, dapat dilihat bahawa e-mel1 berjaya dipadankan, tetapi e-mel2 dan e-mel3 gagal sepadan.

Melalui dua kod sampel di atas, kita dapat melihat bahawa sangat mudah untuk menggunakan fungsi String.matches() untuk menentukan sama ada rentetan sepadan dengan ungkapan biasa yang ditentukan. Anda hanya perlu menghantar rentetan sasaran dan ungkapan biasa sebagai parameter ke dalam fungsi matches(), dan fungsi akan mengembalikan hasil jenis boolean untuk menunjukkan sama ada padanan itu berjaya.

Perlu diambil perhatian bahawa apabila menggunakan fungsi String.matches() untuk menentukan sama ada rentetan sepadan dengan ungkapan biasa, anda perlu memastikan bahawa keseluruhan rentetan betul-betul sepadan dengan ungkapan biasa. Jika rentetan hanya sebahagiannya dipadankan, palsu juga akan dikembalikan.

Selain fungsi String.matches(), Java juga menyediakan beberapa kaedah pemadanan ungkapan biasa yang lain, seperti String.match(), Kelas corak, kelas Matcher, dsb. Kaedah ini mungkin lebih fleksibel dan mudah digunakan dalam aplikasi ungkapan biasa yang kompleks. 🎜🎜Dalam perkembangan sebenar, ungkapan biasa digunakan secara meluas. Dengan menggunakan fungsi String.matches() untuk menentukan sama ada rentetan sepadan dengan ungkapan biasa yang ditentukan, kami boleh melaksanakan pengesahan data, pemformatan, pemadanan dan operasi lain dengan berkesan. Saya harap penjelasan dan contoh dalam artikel ini dapat membantu anda memahami dan menggunakan fungsi String.matches() dengan lebih baik. 🎜

Atas ialah kandungan terperinci Gunakan fungsi String.matches() Java untuk menentukan sama ada rentetan sepadan dengan ungkapan biasa yang ditentukan. 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