Operasi yang dapat menggunakan ekspresi reguler pada String sebenarnya memanfaatkan fungsi java.util.regex.Pattern dan java.util.regex.Matcher. Saat memanggil metode match() String, metode ini sebenarnya memanggil metode statis Pattern match(). Metode ini mengembalikan nilai boolean yang menunjukkan apakah string cocok dengan ekspresi reguler.
Jika Anda ingin memperlakukan ekspresi reguler sebagai objek untuk digunakan kembali, Anda dapat menggunakan metode statis Pattern kompilasi() untuk mengkompilasinya. Metode kompilasi() akan mengembalikan instance Pola, yang mewakili ekspresi reguler. Anda kemudian dapat menggunakan kembali metode matcher() dari instance Pola untuk mengembalikan instance Matcher, yang mewakili instance yang cocok dengan ekspresi reguler pada contoh ini. Metode yang memenuhi kondisi ekspresi reguler tersedia untuk dioperasikan. Contoh 6.11 menunjukkan hal ini.
**Contoh 6.11UsePatternMatcher.java
import java.util.regex.*;
kelas publik UsePatternMatcher {
public static void main(String[] args) {
Tali telepon1 =
"Nomor ponsel Justin: 0939-100391n" +
"nomor ponsel momor: 0939-666888n";
Pola pola = Pattern.compile(".*0939-\d{6}");
Pencocokan pencocokan = pattern.matcher(phones1);
while(matcher.find()) {
System.out.println(matcher.group());
}
Tali telepon2 =
"nomor ponsel Caterpillar: 0952-600391n" +
"nomor ponsel Bush: 0939-550391";
matcher = pattern.matcher(ponsel2);
while(matcher.find()) {
System.out.println(matcher.group());
}
}
}
Contoh 6.11 akan mencari angka-angka yang dimulai dengan 0939. Dengan asumsi bahwa angka-angka tersebut berasal dari lebih dari satu sumber (seperti ponsel1, ponsel2), Anda dapat mengkompilasi ekspresi reguler dan mengembalikan objek Pola. Anda kemudian dapat menggunakan kembali objek Pola ini selama perbandingan. Gunakan matcher() untuk mengembalikan instance Matcher yang cocok. Metode find() menunjukkan apakah ada string yang cocok, dan metode group() dapat mengembalikan string yang cocok. Hasil eksekusi programnya adalah sebagai berikut:
Nomor ponsel Justin: 0939-100391
nomor ponsel momor: 0939-666888
nomor ponsel semak: 0939-550391
Mari kita tulis ulang Contoh 6.9 menggunakan Pattern dan Matcher sehingga program dapat mengembalikan string yang cocok dengan ekspresi reguler alih-alih mengembalikan string yang tidak cocok.
**Contoh 6.12RegularExpressionDemo2.java
import java.util.regex.*;
kelas publik RegularExpressionDemo2 {
public static void main(String[] args) {
String teks = "abcdebcadxbc";
Pola pola = Pattern.compile(".bc");
Pencocokan pencocokan = pattern.matcher(teks);
while(matcher.find()) {
System.out.println(matcher.group());
}
Sistem.keluar.println();
}
}
style='font-family:宋体'>Hasil eksekusi:
abc
ebc
xbc
Artikel ini berasal dari blog CSDN. Harap sebutkan sumbernya saat mencetak ulang: http://blog.csdn.net/wofe912/archive/2009/12/18/5030571.aspx