ما هو Regex في جافا؟
التعبير العادي أو التعبير العادي هو سلسلة من الأحرف التي تشكل نمطًا. عندما تبحث عن أي بيانات، يمكنك استخدام هذا النمط المتخصص للعثور على سلاسل مطابقة. يمكن أن يكون بسيطًا مثل حرف واحد أو يمكن أن يكون نمطًا أكثر تعقيدًا. في Java، لديك حزمة Java regex التي تحتوي على فئات توفر إمكانية استخدام التعبيرات العادية للبحث عن الأنماط ومعالجتها. يتم استيراد هذه الحزمة إلى التعليمات البرمجية الخاصة بك بالطريقة التالية.import java.util.regex.*;
جافا ريجكس - المطابق
import java.util.regex.Matcher;
تحتوي حزمة Java regex على ثلاث فئات:
-
فئة النمط : لتحديد النمط الذي يجب البحث عنه.
-
Matcher Class: لمطابقة النمط الموجود في النص والعثور عليه.
-
فئة PatternSyntaxException : للإشارة إلى أي أخطاء في بناء الجملة في التعبير العادي.
طرق فئة جافا المطابق
بعض أساليب 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(.*) النص المطلوب التحقق منه هو: تفاحة خضراء، تفاحة صفراء، تفاحة حمراء، أنا أحب جميع أنواع التفاح. إخراج التطابقات (): صحيح
GO TO FULL VERSION