Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

Regular Expression re{ n, m} Metacharacter ใน Java


นิพจน์ย่อย/เมทาคาแรคเตอร์ “re{ n, m} ” จะจับคู่นิพจน์ก่อนหน้าอย่างน้อย n และมากที่สุด m

ตัวอย่างที่ 1

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexExample {
   public static void main( String args[] ) {
      String regex = "xyy{2,4}";
      String input = "xxyyzxxyyyyxyyzxxyyzz";
      Pattern p = Pattern.compile(regex);
      Matcher m = p.matcher(input);
      int count = 0;
      while(m.find()) {
         count++;
      }
      System.out.println("Number of matches: "+count);
   }
}

ผลลัพธ์

Number of matches: 1

ตัวอย่างที่ 2

โปรแกรม Java ต่อไปนี้อ่านค่าชื่อจากผู้ใช้และอนุญาตให้ใช้อักขระได้ 1 ถึง 20 ตัวเท่านั้น

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexExample {
   public static void main(String args[] ) {
      //Regular expression to match characters at least 1 almost 20
      String regex = "[a-zA-Z]{1,20}";
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter students name:");
      String name = sc.nextLine();
      Pattern p = Pattern.compile(regex);
      Matcher m = p.matcher(name);
      if(m.matches()) {
         System.out.println("Name is appropriate");
      } else {
         System.out.println("Name is inappropriate");
      }
   }
}

ผลลัพธ์ 1

Enter students name:
Mouktika
Name is appropriate

ผลลัพธ์ 2

Enter students name:
ka 34
Name is inappropriate

ผลลัพธ์ 3

Enter students name:
Sri Veera Venkata Satya Sai Suresh Santosh Samrat
Name is in inappropriate