מהו Regex בג'אווה?
ביטוי רגולרי או ביטוי רגולרי הוא רצף של תווים היוצרים דפוס. כאשר אתה מחפש נתונים כלשהם, אתה יכול להשתמש בדפוס מיוחד זה כדי למצוא מחרוזות תואמות. זה יכול להיות פשוט כמו תו בודד או שזה יכול להיות דפוס מורכב יותר. ב-Java, יש לך חבילת java regex הכוללת מחלקות המספקות את המאפשר להשתמש בביטויים רגולריים לחיפוש תבניות ולמניפולציה. חבילה זו מיובאת לקוד שלך בדרך הבאה.import java.util.regex.*;
Java Regex - Matcher
import java.util.regex.Matcher;
לחבילת java regex יש שלוש מחלקות:
-
מחלקת דפוס : כדי להגדיר את הדפוס שיש לחפש.
-
מחלקת התאמה : כדי להתאים את התבנית בטקסט ולמצוא אותה.
-
PatternSyntaxException Class: לציון שגיאות תחביר כלשהן בביטוי הרגולרי.
שיטות Java Matcher Class
חלק משיטות Java Matcher Class מתוארות להלן.-
boolean matches() - מחזירה true אם הביטוי הרגולרי מתאים לתבנית.
-
boolean find() - מוצא את הביטוי הרגולרי הבא שתואם לתבנית.
-
boolean find(int start) - מוצא את הביטוי הרגולרי הבא שתואם את התבנית מההתחלה הנתונה.
-
int start() - מחזיר את האינדקס ההתחלתי של ההתאמה.
-
int end() - מחזירה את אינדקס הסיום של ההתאמה המוחזרת.
-
int groupCount() - מחזיר את המספר הכולל של קבוצות בהתאמה.
-
String replaceAll(מחרוזת החלפת) - מחליף כל רצף של ההתאמה בהחלפה הנתונה.
-
String replaceFirst(מחרוזת החלפת) - מחליף את רצף המשנה הראשון של ההתאמה בהחלפה הנתונה.
דוגמה ל-Java Matcher
ישנן שיטות שימושיות רבות למחלקה Matcher , עם זאת, נסתכל עוד על הדוגמאות הספציפיות של שיטת matches() .שימוש בשיטת matches()
להלן דוגמה ל-Java Matcher עבור שיטת matches() .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(.*) טקסט לבדיקה הוא: פלט Apples עבור התאמות(): false התבנית היא: (.*)apple(.*) טקסט לבדיקה הוא: פלט אפל עבור התאמות() : false התבנית היא: (.*)apple(.*) טקסט לבדיקה הוא: apple פלט עבור התאמות(): true התבנית היא: (.*)apple(.*) טקסט לבדיקה הוא: תפוח ביום מרחיק את הרופא. פלט עבור התאמות(): true התבנית היא: (.*)apple(.*) הטקסט שיש לבדוק הוא: תפוח ירוק, תפוח צהוב, תפוח אדום, אני אוהב כל מיני תפוחים. פלט עבור התאמות(): true
GO TO FULL VERSION