JavaRush /Java blogi /Random-UZ /Muntazam iboralar: so'zni/so'z qismini toping
eGarmin
Daraja

Muntazam iboralar: so'zni/so'z qismini toping

Guruhda nashr etilgan
Agar so'z yoki pastki qatorni topishingiz kerak bo'lsa, yaxshi yechim oddiy ifoda asboblar to'plamidagi boshqaruv operatoridan foydalanishdir . Boshqa narsaga ergashadigan narsani topish kerak bo'lganda, bu ajralmas.
Oddiy misol
String str = "программируем"; Pattern p = Pattern.compile(".*программ(?=ируем).*"); Matcher m = p.matcher(str); if(m.matches()){ System.out.println("Нашел!"); }else{ System.out.println("Не нашел!"); }
1. Old tomondan qidirish
Yuqoridagi misolda, agar siz “dasturlash” ni topishingiz kerak bo'lsa, lekin “dasturlash” ni qidirishingiz shart bo'lmasa, siz quyidagi naqshni qo'llashingiz kerak: .*программ(?=ируем).* ?= – so'z/so'zning bir qismi mavjudligini qidirish; ?! - so'z / so'zning bir qismi yo'qligini old tomondan qidirish.
2. Orqa tomondan qidiring
Orqadan qidirish ham xuddi shunday ishlaydi. Uning orqasida so'z/so'z qismini qidirish uchun ?<= dan foydalanishingiz kerak va ? .*(?<=programs)we.* “Dastur” so‘zi bu naqshga mos keladi, lekin “polish” so‘zi mos kelmaydi.
Izohlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION