Regex در جاوا چیست؟
یک عبارت منظم یا regex دنباله ای از کاراکترها است که یک الگو را تشکیل می دهند. هنگامی که به دنبال هر داده ای هستید، می توانید از این الگوی تخصصی برای یافتن رشته های منطبق استفاده کنید. می تواند به سادگی یک کاراکتر باشد یا می تواند الگوی پیچیده تری باشد. در جاوا، شما یک بسته جاوا regex دارید که دارای کلاس هایی است که امکان استفاده از عبارات منظم را برای جستجو و دستکاری الگو فراهم می کند. این بسته به روش زیر وارد کد شما می شود.import java.util.regex.*;
Java Regex - Matcher
import java.util.regex.Matcher;
بسته java regex دارای سه کلاس است:
-
کلاس الگو : برای تعریف الگویی که باید جستجو شود.
-
کلاس تطبیق : برای مطابقت با الگوی متن و پیدا کردن آن.
-
کلاس PatternSyntaxException : برای نشان دادن هرگونه خطای نحوی در عبارت منظم.
روش های کلاس جاوا مطابقت
برخی از متدهای Java Matcher Class در زیر توضیح داده شده است.-
Boolean matches() - اگر عبارت منظم با الگو مطابقت داشته باشد true را برمی گرداند.
-
boolean find() - عبارت منظم بعدی را که با الگو مطابقت دارد را پیدا می کند.
-
boolean find(int start) - عبارت منظم بعدی را که با الگوی شروع داده شده مطابقت دارد را پیدا می کند.
-
int start() - ایندکس شروع مسابقه را برمی گرداند.
-
int end() - اندیس پایانی مسابقه برگشتی را برمی گرداند.
-
int groupCount() - تعداد کل گروههای موجود در مسابقه را برمیگرداند.
-
String replaceAll (جایگزینی رشته) - هر دنباله مسابقه را با جایگزین داده شده جایگزین می کند.
-
String replaceFirst (جایگزینی رشته) - اولین دنباله مسابقه را با جایگزین داده شده جایگزین می کند.
مثال جاوا تطبیق دهنده
متدهای مفید زیادی برای کلاس Matcher وجود دارد ، با این حال، در ادامه به بررسی مثال(های) خاص متد matches() خواهیم پرداخت .با استفاده از متد matches()
در زیر یک متد Java Matcher Example for 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");
}
}
خروجی
GO TO FULL VERSION