Rumah > Java > javaTutorial > teks badan

Bagaimana untuk Mendapatkan dan Susunan Padanan daripada Rentetan Menggunakan Ungkapan Biasa Java?

Linda Hamilton
Lepaskan: 2024-11-24 11:59:12
asal
108 orang telah melayarinya

How to Retrieve and Array of Matches from a String Using Java Regular Expressions?

Mendapatkan Padanan Menggunakan Ungkapan Biasa dalam Java

Mendapatkan tatasusunan padanan daripada rentetan yang diberikan menggunakan ungkapan biasa dalam Java melibatkan mencipta padanan dan berulang pada perlawanan.

Menggunakan a Matcher

Buat objek Matcher menggunakan kaedah kompilasi kelas Corak:

Matcher m = Pattern.compile("regex_expression").matcher(input_string);
Salin selepas log masuk

Lelaran pada Padanan

Gunakan find kaedah Matcher untuk mengulangi padanan:

List<String> allMatches = new ArrayList<>();
while (m.find()) {
  allMatches.add(m.group());
}
Salin selepas log masuk

Menukar kepada Array

Jika anda memerlukan tatasusunan padanan, gunakan kaedah toArray:

String[] matchesArray = allMatches.toArray(new String[0]);
Salin selepas log masuk

Kaedah Dipertingkat dengan MatchResult (Java >= 9)

Dalam Java 9 dan ke atas, anda boleh menggunakan kaedah toMatchResult pada Matcher untuk buat objek MatchResult. Ini menyediakan kaedah untuk mencipta iterator malas untuk gelung yang cekap pada padanan:

for (MatchResult match : MatchResult.findAll(p, input)) {
  // Use match information without advancing iteration...
}
Salin selepas log masuk

Sebagai contoh, kod ini menggunakan kaedah pembantu allMatches untuk mengulang pada perlawanan, mencetak kumpulan dan kedudukan mereka:

for (MatchResult match : allMatches(Pattern.compile("[abc]"), "abracadabra")) {
  System.out.println(match.group() + " at " + match.start());
}
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan dan Susunan Padanan daripada Rentetan Menggunakan 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