Rumah > Java > javaTutorial > Mengapa `String.matches()` Tidak Berfungsi Seperti Yang Dijangkakan dengan Ungkapan Biasa?

Mengapa `String.matches()` Tidak Berfungsi Seperti Yang Dijangkakan dengan Ungkapan Biasa?

Linda Hamilton
Lepaskan: 2024-11-26 05:18:10
asal
503 orang telah melayarinya

Why Doesn't `String.matches()` Work as Expected with Regular Expressions?

String.matches() Tidak Padan dengan Expected Regex

Apabila cuba memadankan corak tertentu menggunakan String.matches("[a-z ]"), adalah mengejutkan apabila mendapati ia tidak berfungsi seperti yang diharapkan, walaupun rentetan mengandungi huruf kecil huruf.

Penjelasan:

Kaedah String.matches() dalam Java direka untuk menentukan sama ada keseluruhan rentetan input sepadan dengan ungkapan biasa yang disediakan. Dalam kes ini, ungkapan "[a-z]" cuba memadankan satu huruf kecil. Walau bagaimanapun, kod itu menyemak setiap rentetan dalam tatasusunan perkataan, tiada satu pun daripadanya bermula dengan huruf kecil.

Penyelesaian:

Untuk memadankan corak dalam rentetan, satu harus menggunakan kelas Corak dan Padanan. Kelas Pattern menyusun ungkapan biasa ke dalam objek Matcher, yang kemudiannya boleh digunakan untuk menyemak padanan dalam rentetan input.

Berikut ialah versi diubah suai kod yang menggunakan Pattern dan Matcher untuk mencari padanan:

Pattern p = Pattern.compile("[a-z]+");
for(String s:words)
{
    Matcher m = p.matcher(s);
    if (m.find())
    {
        System.out.println(s);
    }
}
Salin selepas log masuk

Kod ini kini mencetak "dkoe" dengan betul.

Atas ialah kandungan terperinci Mengapa `String.matches()` Tidak Berfungsi Seperti Yang Dijangkakan dengan Ungkapan Biasa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan