


Mengapa `String.matches()` Tidak Berfungsi Seperti Yang Dijangkakan dengan Ungkapan Biasa?
Nov 26, 2024 am 05:18 AMString.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); } }
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!

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Bagaimanakah mekanisme kelas muatan Java berfungsi, termasuk kelas yang berbeza dan model delegasi mereka?

Rangka Kerja 4 JavaScript teratas pada tahun 2025: React, Angular, Vue, Svelte

Bagaimanakah saya menggunakan Maven atau Gradle untuk Pengurusan Projek Java Lanjutan, Membina Automasi, dan Resolusi Ketergantungan?

Bagaimanakah saya dapat melaksanakan teknik pengaturcaraan berfungsi di Java?

Node.js 20: Peningkatan Prestasi Utama dan Ciri -ciri Baru

Iceberg: Masa Depan Jadual Data Tasik

Bagaimanakah saya boleh menggunakan JPA (Java Constence API) untuk pemetaan objek-objek dengan ciri-ciri canggih seperti caching dan malas malas?

Bagaimanakah saya melaksanakan caching pelbagai peringkat dalam aplikasi java menggunakan perpustakaan seperti kafein atau cache jambu?
