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

เมตาอักขระ re* ในนิพจน์ปกติ Java

ซับนิพจน์/เมตาอักขระ “re*” จับคู่ 0 หรือมากกว่าครั้งของนิพจน์ก่อนหน้า

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

import java.util.regex.Matcher; 
import java.util.regex.Pattern; 
public class RegexExample { 
    public static void main( String args[] ) { 
        String regex = "aabc*"; 
        String input = "aabcabcaabcabbcaabcbcaabc"; 
        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: 4

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

import java.util.Scanner; 
import java.util.regex.Matcher; 
import java.util.regex.Pattern; 
public class MatchAllCharacters { 
    public static void main( String args[] ) { 
        String regex = "(.*)?(\\d+)"; 
        Scanner sc = new Scanner(System.in); 
        System.out.println("Enter 5 input strings: "); 
        String input[] = new String[5]; 
        for (int i=0; i<5; i++) { 
            input[i] = sc.nextLine(); 
        } 
        // สร้างออบเจ็กต์ Pattern 
        Pattern p = Pattern.compile(regex); 
        System.out.println("Strings containing digits: "); 
        for(int i=0; i<5;i++) { 
            // สร้างออบเจ็กต์ Matcher 
            Matcher m = p.matcher(input[i]); 
            if(m.matches()) { 
                System.out.println(m.group()); 
            } 
        } 
    } 
}

ผลลัพธ์

test data hello how are you 335 welcome to Tutorialspoint 
Strings containing digits: 
sample text 1 
hello how are you 335