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

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

ซับนิพจน์/เมตาอักขระ “\D” จับคู่ตัวอักษรที่ไม่ใช่ตัวเลข (non-digits)

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

import java.util.regex.Matcher; 
import java.util.regex.Pattern; 
public class RegexExample { 
    public static void main( String args[] ) { 
        String regex = "\\D"; 
        String input = "This is sample text 12 24 56 89 24"; 
        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: 24

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

import java.util.Scanner; 
import java.util.regex.Matcher; 
import java.util.regex.Pattern; 
public class RegexExample { 
    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("Number of non-digit characters in each string: "); 
        for(int i=0; i<5;i++) { 
            // สร้างออบเจ็กต์ Matcher 
            Matcher m = p.matcher(input[i]); 
            int count = 0; 
            while(m.find()) { 
                count++; 
            } 
            System.out.println("String " + i + ": " + count); 
        } 
    } 
}

ผลลัพธ์

Enter 5 input strings: sample 1 12 35 36 63 test 243 663 hello hello how are you * 
Number of non-digit characters in each string: 
String 0: 7 
String 1: 3 
String 2: 6 
String 3: 5 
String 4: 19