אם אתה צריך למצוא מילה או מחרוזת משנה, פתרון טוב הוא להשתמש באופרטור הפקד מתוך ערכת הכלים
של הביטוי הרגולרי . זה הכרחי כאשר אתה צריך למצוא משהו שאחרי משהו אחר.
דוגמה פשוטה
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