Rumah >Java >javaTutorial >Cara menggunakan ungkapan biasa dalam Java

Cara menggunakan ungkapan biasa dalam Java

WBOY
WBOYasal
2023-06-15 21:14:282926semak imbas

Java ialah bahasa pengaturcaraan popular yang menyediakan alat ekspresi biasa yang berkuasa yang boleh meningkatkan kecekapan semasa memproses rentetan. Ungkapan biasa ialah corak yang menerangkan set rentetan dan boleh digunakan untuk melaksanakan padanan corak, mencari dan menggantikan operasi. Dalam artikel berikut, kita akan belajar cara menggunakan ungkapan biasa dalam Java.

  1. Sintaks ungkapan biasa

Ungkapan biasa Java adalah berdasarkan sintaks ungkapan biasa bahasa Perl dan termasuk beberapa sintaks unik Java. Ungkapan biasa terdiri daripada watak dan watak istimewa, di mana watak istimewa mempunyai makna yang berbeza. Berikut ialah beberapa aksara khas yang biasa digunakan dan maknanya:

  • ^: sepadan dengan permulaan rentetan
  • $: sepadan dengan hujung rentetan
  • . : sepadan dengan mana-mana aksara tunggal , kecuali aksara baris baharu
  • d: sepadan dengan aksara angka
  • D: sepadan dengan aksara bukan angka
  • s: sepadan dengan aksara ruang
  • S: sepadan dengan aksara bukan ruang
  • w: Memadankan huruf, nombor atau aksara garis bawah
  • W: Memadankan bukan huruf, nombor atau aksara garis bawah
  • []: Memadankan mana-mana aksara dalam kurungan petak
  • [^]: Memadankan mana-mana aksara yang tidak dalam kurungan petak
  • (): Mencipta kumpulan penangkap untuk membezakan subungkapan dalam perlawanan
  • |: Logik ATAU watak operasi, padankan satu daripada ungkapan
  • *: padankan 0 atau lebih aksara bersebelahan
  • +: padankan 1 atau lebih aksara bersebelahan
  • ?: padankan 0 atau 1 aksara bersebelahan
  • {n}: Padankan n aksara bersebelahan
  • {n,}: Padankan n atau lebih aksara bersebelahan
  • {n,m}: Padankan n dengan m bersebelahan aksara
  1. Kelas ungkapan biasa di Java

Java menyediakan dua kelas ekspresi Biasa utama: Pattern dan Matcher. Kelas Pattern digunakan untuk menyusun ungkapan biasa dan mengembalikan objek Pattern, manakala kelas Matcher digunakan untuk melaksanakan operasi padanan.

Gunakan kaedah compile() kelas Pattern untuk menyusun ungkapan biasa dan mengembalikan objek Pattern. Kemudian, kita boleh menggunakan kaedah matcher() bagi objek Pattern untuk mencipta objek Matcher dan memanggil kaedah objek Matcher untuk melaksanakan operasi padanan. Berikut ialah contoh mudah:

String patternString = "hello";
String testString = "Hello, world!";
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(testString);
boolean matches = matcher.matches();
System.out.println(matches); // false

Dalam contoh di atas, kami mencipta objek Corak untuk memadankan rentetan "hello", dan kemudian menggunakan objek Corak untuk mencipta objek Matcher untuk memadankan rentetan "Hello," dunia!". Oleh kerana aksara dalam rentetan tidak betul-betul sepadan dengan ungkapan biasa, kaedah matches() mengembalikan palsu.

Selain kaedah matches(), kelas Matcher juga menyediakan kaedah lain, termasuk:

  • find(): Cari perlawanan seterusnya
  • group( ): Mengembalikan keputusan padanan dalam kumpulan tangkapan
  • start(): Mengembalikan indeks permulaan perlawanan
  • end(): Mengembalikan indeks akhir perlawanan
  1. Senario penggunaan ungkapan biasa

Ungkapan biasa mempunyai pelbagai senario aplikasi dalam Java, termasuk:

  • Pengesahan format data input: seperti sebagai pengesahan alamat e-mel, nombor telefon Adakah format nombor, URL, dll. betul?
  • Ekstrak data: Contohnya, ekstrak URL, nombor telefon, poskod dan data lain daripada teks.
  • Ganti data: Contohnya, gantikan kata kunci tertentu dalam teks dengan kandungan lain.
  • Teks carian: Contohnya, cari sesuatu dalam penyunting teks.
  • Tapis data: Contohnya, tapis rekod tertentu daripada fail log.
  1. Nota

Walaupun ungkapan biasa digunakan secara meluas dalam Java, terdapat beberapa perkara yang anda perlu beri perhatian apabila menggunakannya. Contohnya:

  • Ungkapan biasa mungkin sukar difahami dan dikekalkan, jadi kami boleh menggunakan alat ujian ungkapan biasa dalam talian untuk berlatih dan nyahpepijat, seperti regex101.com, regexr.com, dsb.
  • Apabila memproses ungkapan biasa yang kompleks, masalah menjejak ke belakang mungkin berlaku, mengakibatkan masa pemadanan yang sangat lama. Untuk kes ini kita boleh menggunakan kemalasan atau pra-pencarian untuk mengelakkan penjejakan ke belakang.
  • Dalam beberapa senario tertentu, seperti mencari dan menggantikan teks berskala besar, kecekapan pemprosesan mungkin terjejas. Untuk meningkatkan kecekapan, kami boleh menggunakan perpustakaan berkaitan ungkapan biasa, seperti Apache Lucene, dsb.

Ringkasan

Ekspresi biasa ialah alat berkuasa yang boleh meningkatkan kecekapan semasa memproses rentetan. Di Java, kita boleh menggunakan kelas Pattern dan Matcher untuk menyusun dan melaksanakan ungkapan biasa. Anda perlu memberi perhatian kepada sintaks ungkapan biasa dan langkah berjaga-jaga apabila menggunakannya untuk memastikan pemadanan yang betul dan meningkatkan kecekapan.

Atas ialah kandungan terperinci Cara menggunakan ungkapan biasa dalam 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
Artikel sebelumnya:Operasi fail dalam JavaArtikel seterusnya:Operasi fail dalam Java