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

เมตาอักขระ re{ n, m} ในนิพจน์ปกติ 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[] ) { 
        // นิพจน์ปกติจับคู่ตัวอักษรอย่างน้อย 1 สูงสุด 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