JavaRush /مدونة جافا /Random-AR /التعبيرات العادية: ابحث عن كلمة/جزء من الكلمة
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