Jika Anda perlu menemukan kata atau substring, solusi yang baik adalah dengan menggunakan operator kontrol dari toolkit
ekspresi reguler . Ini sangat diperlukan ketika Anda perlu menemukan sesuatu yang mengikuti sesuatu yang lain.
Contoh sederhana
String str = "программируем"; Pattern p = Pattern.compile(".*программ(?=ируем).*"); Matcher m = p.matcher(str); if(m.matches()){ System.out.println("Нашел!"); }else{ System.out.println("Не нашел!"); }
1. Cari dari depan
Pada contoh di atas, jika Anda perlu mencari “pemrograman”, tetapi tidak perlu mencari “pemrograman”, sebaiknya gunakan pola berikut:
.*программ(?=ируем).*
?= – mencari di depan keberadaan kata/bagian kata; ?! – mencari dari depan jika tidak ada kata/bagian kata.
2. Cari dari belakang
Pencarian dari belakang bekerja dengan cara yang sama. Anda perlu menggunakan ?<= untuk mencari kata/bagian kata di belakangnya dan ? .*(?<=programs)we.* Kata “program” cocok dengan pola ini, namun kata “polish” tidak.
GO TO FULL VERSION