JavaRush /Java блогы /Random-KK /Тұрақты тіркестер: сөзді/сөздің бөлігін табыңыз
eGarmin
Деңгей

Тұрақты тіркестер: сөзді/сөздің бөлігін табыңыз

Топта жарияланған
Сөзді немесе ішкі жолды табу қажет болса, жақсы шешім - қалыпты өрнек құралдар жинағындағы басқару операторын пайдалану . Бұл сізге басқа нәрседен кейінгі нәрсені табу қажет болғанда қажет.
Қарапайым мысал
String str = "программируем"; Pattern p = Pattern.compile(".*программ(?=ируем).*"); Matcher m = p.matcher(str); if(m.matches()){ System.out.println("Нашел!"); }else{ System.out.println("Не нашел!"); }
1. Алдыңғы жағынан іздеу
Жоғарыда келтірілген мысалда «бағдарламалауды» табу қажет болса, бірақ «бағдарламалауды» іздеу қажет болмаса, келесі үлгіні пайдалану керек: .*программ(?=ируем).* ?= – сөздің/сөздің бөлігінің болуын алдынан іздеу; ?! – сөздің/сөздің бөлігінің жоқтығын алдыңғы жақтан іздеу.
2. Артынан іздеу
Артынан іздеу де дәл осылай жұмыс істейді. Артындағы сөзді/сөздің бөлігін іздеу үшін ?<= пайдалану керек және ? .*(?<=programs)we.* «бағдарлама» сөзі бұл үлгіге сәйкес келеді, бірақ «полиша» сөзі сәйкес келмейді.
Пікірлер
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION