English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
هذامن java.util.regex.Matcherتمثل فئة هذا محركًا يقوم بمختلف عمليات التطابق. لا تحتوي هذه الفئة على مكون بناء، يمكن استخدامهاmatches()
طريقة فئة java.util.regex.Pattern لإنشاء/الحصول على موضوع هذه الفئة.
إذا تم التطابق، فإن هذا (Matcher) الفئةrequireEnd()تحقق الطريقة من وجود فرصة لتغيير نتيجة التطابق إلى خطأ إذا كان هناك المزيد من الإدخال، وإذا كانت موجودة، فإن الطريقة تعود صحيح، وإلا تعود خطأ
على سبيل المثال، إذا حاولت استخدام تعبير النص النموذجي "you $" لتطابق الكلمة الأخيرة من نص الإدخال، فإنك قد تتطابق إذا كانت أول سطر إدخال "hello you are"، ولكن إذا وافقت على المزيد من الجمل الجديدة، فإن الكلمة الأخيرة في السطر الجديد قد لا تكون الكلمة المطلوبة (أي "you")، مما يجعل نتيجة التطابق خطأ. في هذه الحالة،requiredEnd()
يُرجع الطريقة صحيح
على سبيل المثال، إذا حاولت تطبيق تعبير النص النموذجي "you $" لتحديد الكلمة الأخيرة من نص الإدخال، فإنك قد تتطابق إذا كانت أول سطر إدخال "Hello#كيف حالك"، ولكن إذا وافقت على المزيد من الجمل الجديدة، فإن الكلمة الأخيرة في السطر الجديد قد لا تكون الكلمة المطلوبة (أي "you")، مما يجعل نتيجة التطابق خطأ. في هذه الحالة،requiredEnd()
يُرجع الطريقة خطأ
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class RequiredEndExample { public static void main( String args[] ) { String regex = "you$"; //قراءة إدخال المستخدم Scanner sc = new Scanner(System.in); System.out.println("ادخل نص الإدخال: "); String input = sc.nextLine(); //إنشاء Pattern class Pattern pattern = Pattern.compile(regex); //إنشاء Matcher class Matcher matcher = pattern.matcher(input); //تحقق من إجراء المباراة if(matcher.find()) { System.out.println("مباراة وجدت"); } boolean result = matcher.requireEnd(); if(result) { System.out.println("قد تجعل المزيد من المدخلات النتيجة النهائية للمباراة خطأ"); } else{ System.out.println("النتيجة النهائية للمباراة ستكون صحيحة، على الرغم من المزيد من البيانات"); } } }
النتيجة الصادرة
ادخل النص المدخل: مرحبًا كيف حالك مباراة وجدت المزيد من الإدخال قد يجعل نتيجة التطابق خطأ
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class RequiredEndExample { public static void main( String args[] ) { String regex = "[#]"; //قراءة إدخال المستخدم Scanner sc = new Scanner(System.in); System.out.println("ادخل نص الإدخال: "); String input = sc.nextLine(); //إنشاء Pattern class Pattern pattern = Pattern.compile(regex); //إنشاء Matcher class Matcher matcher = pattern.matcher(input); //تحقق من إجراء المباراة if(matcher.find()) { System.out.println("مباراة وجدت"); } boolean result = matcher.requireEnd(); if(result) { System.out.println("قد تجعل المزيد من المدخلات النتيجة النهائية للمباراة خطأ"); } else{ System.out.println("النتيجة النهائية للمباراة ستكون صحيحة، على الرغم من المزيد من البيانات"); } } }
النتيجة الصادرة
ادخل النص المدخل: مرحبًا# كيف حالك# مباراة وجدت النتيجة النهائية للمباراة ستكون صحيحة، على الرغم من المزيد من البيانات