Rumah > Java > javaTutorial > Bagaimanakah Saya Boleh Menggunakan Kumpulan Dinamakan dalam Ungkapan Biasa Java?

Bagaimanakah Saya Boleh Menggunakan Kumpulan Dinamakan dalam Ungkapan Biasa Java?

Mary-Kate Olsen
Lepaskan: 2024-11-06 01:27:02
asal
228 orang telah melayarinya

How Can I Utilize Named Groups in Java Regular Expressions?

Java Regex Dinamakan Kumpulan: Penerokaan Mendalam

Walaupun tiada sokongan kumpulan bernama terbina dalam dalam pakej java.regex Java , perpustakaan pihak ketiga menyediakan penyelesaian untuk had ini.

Sokongan Java 7 untuk Kumpulan Dinamakan

Sehingga Java 7, kumpulan penangkap bernama telah diperkenalkan dengan yang berikut binaan:

  • (?menangkap teks): Mentakrifkan "nama" kumpulan bernama.
  • k: Merujuk semula kumpulan bernama "nama."
  • ${name}: Rujukan teks yang ditangkap dalam rentetan gantian Matcher.
  • Matcher.group(String name): Mengambil teks yang ditangkap oleh kumpulan bernama "nama."

Alternatif Pra-Java 7

Sebelum Java 7, beberapa perpustakaan menawarkan sokongan kumpulan bernama:

  • Google bernama-regex : Pustaka ini menyediakan kefungsian yang kaya, termasuk kumpulan bernama bersarang dan corak regex rekursif.
  • jregex: Walaupun terhad dalam sokongannya, perpustakaan ini masih menawarkan fungsi kumpulan bernama asas.

Contoh

Pertimbangkan contoh berikut menggunakan corak regex bernama:

String input = "TEST 123";
Pattern pattern = Pattern.compile("(?<login>[\w]+) (?<id>[\d]+)");
Matcher matcher = pattern.matcher(input);
System.out.println("Login: " + matcher.group("login"));
System.out.println("ID: " + matcher.group("id"));
Salin selepas log masuk

Ini akan mengeluarkan:

Login: TEST
ID: 123
Salin selepas log masuk

Keterbatasan

Sokongan kumpulan bernama Java adalah terhad dalam cara berikut:

  • Hanya satu kumpulan bernama bagi setiap nama. Had ini menghalang penangkapan kejadian berbilang kumpulan bernama sama.
  • Tiada sokongan untuk rekursi dalam regex. Kumpulan bernama tidak boleh digunakan sebagai sasaran rekursi dalam corak regex.

Kesimpulan

Perpustakaan pihak ketiga menawarkan sokongan kumpulan bernama teguh untuk Java. Walau bagaimanapun, dengan pengenalan kumpulan yang dinamakan dalam Java 7, pembangun kini mempunyai pendekatan yang lebih diselaraskan dan piawai untuk bekerja dengan kumpulan yang dinamakan dalam corak regex mereka.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Kumpulan Dinamakan dalam Ungkapan Biasa Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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