English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
java.regexهذه الصفحة هي تمثيل مسبق لنمط التعبيرات العشوائية.
من هذا النوعcompile()تأخذ هذا الطريقة قيمة نصية تمثل تعبير النمط وتعيدPatternهذه النسخة من هذا الطريقة تأخذ قيمة نصية تمثل تعبير النمط، وهي اسم هذا الطريقة لمتغير compile.
static Pattern compile(String regex)
هذه النسخة من هذا الطريقة تأخذ قيمة عددية تمثل العلامات، وهي اسم هذا الطريقة لمتغير compile بوجود اثنين من المعلمات.
static Pattern compile(String regex, int flags)
هذاالنمطيقدم هذا النوع كل مجال كل يمثل علامة.
الترقيم | المساحة والشرح |
---|---|
1 | CANON_EQ عندما تكون قواعد الحرفين المتناظرين متساويةعندماالتناسب |
2 | CASE_INSENSITIVE يُناسب الحرف، دون النظر في الحالة. |
3 | التعليقات يُسمح بالمسافات والتعليقات النمطية. |
4 | DOTALL يزيد هذا من تشغيل نمط dotall. أي يتناسب الحرف النموذجي ‘.’ مع جميع الحروف، بما في ذلك إشارات النهاية للسطر. |
5 | LITERAL يزيد هذا من تحليل النص المدخل كنص مكتوب. أي أن جميع الحروف النموذجية والسلاسل المضبوطة في السلسلة المدخلة تعتبر حروفًا نصية. |
6 | MULTILINE يزيد هذا من تشغيل نمط الخطوط المتعددة، أي يعتبر كل سلسلة المدخلات سطرًا واحدًا. |
7 | UNICODE_CASE يزيد هذا من تشغيلتعرفالتفاوت بين الحروف الكبيرة والصغيرة في اليونيكود، أي عندما يستخدم CASE_INSENSITIVE. إذا تم البحث في الأحرف اليونيكود باستخدام تعبير النمط، فإن كلا الحرفين اليونيكود سيتناسبان. |
8 | UNICODE_CHARACTER_CLASS يُمكن تشغيل النسخة اليونيكود للعناصر الحالية و POSIX للعناصر الحالية. |
9 | UNIX_LINES يزيد هذا العلامة من تشغيل نمط Unix. |
من هذا النوعflags()يستخدم هذا الطريقة علامات الاستخدام الحالية في النمط الحالي.
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class COMMENTES_Example { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("أدخل اسمك: "); String name = sc.nextLine(); System.out.println("أدخل تاريخ ميلادك: "); String dob = sc.nextLine(); //تعلم الأسلوب باستخدام MM-DD-YYY String regex = "^(1[0-2]|0[1-9])/# For Month\n" + "(3[01]|[12][0-9]|0[1-9])/# For Date\n" + "[0-9]{4}$ # For Year"; //إنشاء جسم Pattern Pattern pattern = Pattern.compile(regex, Pattern.COMMENTS); //إنشاء جسم Matcher Matcher matcher = pattern.matcher(dob); boolean result = matcher.matches(); if(result) { System.out.println("تاريخ الميلاد المحدد صالح"); } else { System.out.println("تاريخ الميلاد المحدد غير صالح"); } System.out.println("استخدام العلم: " + pattern.flags()); } }
نتيجة الخروج
أدخل اسمك: Krishna أدخل تاريخ ميلادك: 09/26/1989 تاريخ الميلاد المحدد صالح استخدام العلم: 4