Rumah >Java >javaTutorial >Bagaimanakah saya boleh menggunakan kumpulan penangkapan bernama dalam ungkapan biasa Java?
Pengumpulan bernama dalam Java
Pakej java.regex di Java tidak menyokong pengelompokan bernama. Java 7 dan lebih tinggi
Java 7 dan lebih tinggi kini menyokong pengumpulan bernama. Kumpulan bernama boleh ditakrifkan menggunakan:
Kumpulan bernama boleh dirujuk menggunakan:
<code class="java">(?<name>capturing text)</code>
k
Untuk versi sebelum Java 7, alternatif berikut tersedia:
Google named-regexAnda juga boleh menyokong pengumpulan bernama dengan menulis versi Regex anda sendiri. Sebagai contoh, perpustakaan Regex2 menyediakan sokongan ini.
Contoh
Contoh ungkapan biasa menggunakan kumpulan bernama:
Contoh kod Java menggunakan kumpulan bernama:
(?<login>\w+) (?<id>\d+)
Contoh menggunakan pengelompokan bernama untuk menggantikan teks:
Pattern pattern = Pattern.compile("(?<login>\w+) (?<id>\d+)");
Matcher matcher = pattern.matcher("TEST 123");
if (matcher.find()) {
String login = matcher.group("login");
String id = matcher.group("id");
}
Contoh menggunakan rujukan balik pengelompokan bernama:
<code class="java">String result = matcher.replaceAll("aaaaa__sssss_____");</code>
Atas ialah kandungan terperinci Bagaimanakah saya boleh menggunakan kumpulan penangkapan bernama dalam ungkapan biasa Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!