CodeGym /مدونة جافا /Random-AR /جافا ريجكس - المطابق
John Squirrels
مستوى
San Francisco

جافا ريجكس - المطابق

نشرت في المجموعة

ما هو Regex في جافا؟

التعبير العادي أو التعبير العادي هو سلسلة من الأحرف التي تشكل نمطًا. عندما تبحث عن أي بيانات، يمكنك استخدام هذا النمط المتخصص للعثور على سلاسل مطابقة. يمكن أن يكون بسيطًا مثل حرف واحد أو يمكن أن يكون نمطًا أكثر تعقيدًا. في Java، لديك حزمة Java regex التي تحتوي على فئات توفر إمكانية استخدام التعبيرات العادية للبحث عن الأنماط ومعالجتها. يتم استيراد هذه الحزمة إلى التعليمات البرمجية الخاصة بك بالطريقة التالية.
import java.util.regex.*;

جافا ريجكس - المطابق

توفر فئة Java Matcher مطابقة الأنماط مع التعبيرات العادية.
يستورد سطر التعليمات البرمجية هذا جميع الفئات المتوفرة في حزمة regex. إذا كنت تريد استيراد فئة Matcher فقط ، فيمكنك استيرادها باستخدام السطر التالي من التعليمات البرمجية.
import java.util.regex.Matcher;
تحتوي حزمة Java regex على ثلاث فئات:
  1. فئة النمط : لتحديد النمط الذي يجب البحث عنه.

  2. Matcher Class: لمطابقة النمط الموجود في النص والعثور عليه.

  3. فئة PatternSyntaxException : للإشارة إلى أي أخطاء في بناء الجملة في التعبير العادي.

العمل عليه بسيط للغاية. أولاً، تقوم بإنشاء كائن نمط من التعبير العادي لتعريف النمط. ثم يتم إنشاء كائن Matcher باستخدام كائن Pattern . تحتوي فئة Matcher على العديد من الطرق. وأهمها هو التابع match() الذي يُرجع true إذا كان التعبير العادي يطابق النص، وإلا يُرجع false . تحتوي Java Matcher Class على العديد من الطرق المفيدة الأخرى لاستبدال النص في سلاسل الإدخال التي تؤدي وظائف أكثر تعقيدًا من طرق الاستبدال () في Java. لا يوجد سوى طريقتين استبدال () في جافا، في حين توفر فئة Matcher وظائف متعددة لهذه المهمة.

طرق فئة جافا المطابق

بعض أساليب Java Matcher Class موضحة أدناه.
  • التطابقات المنطقية () - تُرجع صحيحًا إذا كان التعبير العادي يطابق النمط.

  • boolean find() — يبحث عن التعبير العادي التالي الذي يطابق النمط.

  • boolean find(int start) - يبحث عن التعبير العادي التالي الذي يطابق النمط من البداية المحددة.

  • int start () - يُرجع فهرس البداية للمطابقة.

  • int end () - يُرجع فهرس النهاية للمطابقة التي تم إرجاعها.

  • int groupCount() — يُرجع العدد الإجمالي للمجموعات في المباراة.

  • سلسلة استبدال الكل (استبدال السلسلة) - يستبدل كل تسلسل لاحق للمطابقة بالاستبدال المحدد.

  • استبدال السلسلة (استبدال السلسلة) - يستبدل التسلسل الأول للمطابقة بالاستبدال المحدد.

مثال جافا المطابق

هناك العديد من الطرق المفيدة لفئة Matcher ، ومع ذلك، سننظر أيضًا في المثال (الأمثلة) المحددة للطريقة match () .

باستخدام طريقة التطابقات ().

يوضح ما يلي مثال Java Matcher لطريقة التطابقات () .
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Example {

	public static void main(String[] args) {

		String regexPattern = "(.*)apple(.*)"; // this regex means that any char sequence can precede or succeed "apple"
		String firstCheck = "Apples";
		String secondCheck = "Apple";
		String thirdCheck = "apple";
		String fourthCheck = "An apple a day keeps the doctor away.";
		String fifthCheck = "green apple, yellow apple, red apple, i love all kinds of apples.";


		Pattern pattern = Pattern.compile(regexPattern);
		Matcher matcher1 = pattern.matcher(firstCheck);

		System.out.println("The Pattern  is: " + pattern);
		System.out.println("Text to check is: " + firstCheck);
		System.out.println("Output for matches(): " + matcher1.matches() + "\n");

		Matcher matcher2 = pattern.matcher(secondCheck);

		System.out.println("The Pattern  is: " + pattern);
		System.out.println("Text to check is: " + secondCheck);
		System.out.println("Output for matches(): " + matcher2.matches() + "\n");

		Matcher matcher3 = pattern.matcher(thirdCheck);

		System.out.println("The Pattern  is: " + pattern);
		System.out.println("Text to check is: " + thirdCheck);
		System.out.println("Output for matches(): " + matcher3.matches() + "\n");

		Matcher matcher4 = pattern.matcher(thirdCheck);

		System.out.println("The Pattern  is: " + pattern);
		System.out.println("Text to check is: " + fourthCheck);
		System.out.println("Output for matches(): " + matcher4.matches() + "\n");

		Matcher matcher5 = pattern.matcher(fifthCheck);

		System.out.println("The Pattern  is: " + pattern);
		System.out.println("Text to check is: " + fifthCheck);
		System.out.println("Output for matches(): " + matcher5.matches() + "\n");
	}
}
انتاج |
النمط هو: (.*)apple(.*) النص المطلوب التحقق منه هو: إخراج Apple للمطابقات(): خطأ النمط هو: (.*)apple(.*) النص المطلوب التحقق منه هو: إخراج Apple للمطابقات() : false النمط هو: (.*)apple(.*) النص المطلوب التحقق منه هو: apple مخرجات التطابقات(): صحيح النمط هو: (.*)apple(.*) النص المطلوب التحقق منه هو: تفاحة في اليوم تبقي الطبيب بعيدا. إخراج التطابقات (): صحيح النمط هو: (.*)apple(.*) النص المطلوب التحقق منه هو: تفاحة خضراء، تفاحة صفراء، تفاحة حمراء، أنا أحب جميع أنواع التفاح. إخراج التطابقات (): صحيح

خاتمة

بحلول نهاية هذا المنشور، نأمل أن تكون قد تعرفت على فئة Java Matcher في Java. لقد تعلمت كيفية استخدامه في التعليمات البرمجية الخاصة بك. لقد تعلمت أيضًا كيفية استدعاء طريقة match() الخاصة بـ Matcher Class. يمكنك تجربة طرق أخرى لـ Matcher Class بنفسك لفهمها بشكل أكثر عمقًا. استمر في التدرب على التحكم بشكل أعمق في هذا المفهوم. وحتى ذلك الحين، استمر في النمو واستمر في التألق!
تعليقات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION