اگر نیاز به یافتن یک کلمه یا زیر رشته دارید، یک راه حل خوب استفاده از عملگر کنترل از جعبه ابزار
عبارت منظم است . زمانی که نیاز دارید چیزی را پیدا کنید که به دنبال چیز دیگری باشد، ضروری است.
مثال ساده
String str = "программируем"; Pattern p = Pattern.compile(".*программ(?=ируем).*"); Matcher m = p.matcher(str); if(m.matches()){ System.out.println("Нашел!"); }else{ System.out.println("Не нашел!"); }
1. جستجو از جلو
در مثال بالا، اگر نیاز به یافتن «برنامهنویسی» دارید، اما نیازی به جستجوی «برنامهنویسی» ندارید، باید از الگوی زیر استفاده کنید:
.*программ(?=ируем).*
?= – در مقابل وجود کلمه/بخشی از کلمه را جستجو کنید. ؟! - از جلو برای عدم وجود کلمه / بخشی از یک کلمه جستجو کنید.
2. جستجو از پشت
جستجو از پشت به روشی مشابه عمل می کند. برای جستجوی کلمه/بخشی از کلمه در پشت آن باید از ?<= استفاده کنید و ? .*(?<=برنامه ها)we.* کلمه "برنامه" با این الگو مطابقت دارد، اما کلمه "پلیش" مطابقت ندارد.
GO TO FULL VERSION