Эгер сиз сөздү же субсапты табышыңыз керек болсо, анда
кадимки туюнтма куралдар топтомун башкаруу операторун колдонуу жакшы чечим болуп саналат . Башка бир нерсени ээрчиген нерсени табуу керек болгондо, бул өтө зарыл.
Жөнөкөй мисал
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.* “Программа” сөзү бул үлгүгө дал келет, бирок “поляк” сөзү дал келбейт.
GO TO FULL VERSION