Pakej ungkapan biasa mempunyai had
pakej java.regex Saya telah mengesahkan bahawa tiada sokongan untuk kumpulan yang dinamakan, jadi sila beritahu saya perpustakaan pihak ketiga yang menyokongnya.
Saya melihat ke dalam jregex, tetapi keluaran terakhir adalah pada tahun 2002 dan ia tidak berfungsi untuk java5 (walaupun saya mencubanya serta-merta).
Sokongan sejak Java 7
Java 7 menambah sokongan untuk kumpulan yang dinamakan. Blok binaan untuk menyokong kumpulan penangkapan yang dinamakan ialah:
Alternatif sebelum Java 7 Terdapat alternatif.
Google bernama-regex
Pustaka Regex2 menyokong kumpulan bernama Ia meluas kelas java.util.regex.Corak untuk mencipta .
Contoh
Rentetan input: "TEST 123"
Ungkapan biasa: "(?matcher.group("login") == "TEST"
match.name (1) == "log masuk"
Ganti:
matcher.replaceAll("aaaaa_$ login}_sssss_${id}____") == "aaaaa_TEST_sssss_123____"
Atas ialah kandungan terperinci Bagaimanakah saya boleh menggunakan kumpulan tangkapan bernama di Jawa sebelum Java 7?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!