English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

طريقة compile() مع مثال في Java

java.regexمفردات الحزمة هي تمثيل تعبير النمط المضبوط.

هذا النوعcompile()يقبل هذا الطريقة قيمة النص التعبيري للنمط ويقوم بتقديم نموذج Pattern.

مثال

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class CompileExample {
   public static void main( String args[] ) {
      //قراءة قيمة النص
      Scanner sc = new Scanner(System.in);
      System.out.println("ادخل نص الإدخال");
      String input = sc.nextLine();
      //البحث عن عدد باستخدام تعبير النمط
      String regex = "(\\d)";
      //ترجمة تعبير النص
      Pattern pattern = Pattern.compile(regex);
      //طباعة تعبير النمط
      System.out.println("عباره عادلة نمطية: " + pattern.toString());
      //مكتبة البحث عن مطابقة
      Matcher matcher = pattern.matcher(input);
      //تأكيد التطابق
      if(matcher.find()) {
         System.out.println("Given String contains digits");
      } else {
         System.out.println("Given String does not contain digits");
      }
   }
}

نتيجة الخروج

ادخل نص الإدخال
hello my id is 1120KKA
تعبير النص المعملب: (\d)
Given String contains digits

مرتبة أخرى من هذه الطريقة تأخذ قيمة معرفة العلامة كعدد صحيح، حيث يعين كل علامة شرطًا اختياريًا، مثل CASE_INSENSITIVE لتجاهل الحروف الكبيرة والصغيرة عند ترجمة تعبير النص.

مثال

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class CompileExample {
   public static void main( String args[] ) {
      //ترجمة تعبير النص
      Pattern pattern = Pattern.compile("[t]", Pattern.CASE_INSENSITIVE);
      //مكتبة البحث عن مطابقة
      Matcher matcher = pattern.matcher("w3codebox");
      int count = 0;
      while(matcher.find()) {
         count++;
      }
      System.out.println("عدد المباريات: " + count);
   }
}

نتيجة الخروج

ادخل نص الإدخال
w3codebox
عدد المباريات: 3
أنت قد تحب