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

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

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

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

import java.util.regex.Matcher; 
import java.util.regex.Pattern; 
public class RegexExample { 
    public static void main(String args[]) { 
        String regex = "\\W!"; 
        String input = "Hello how are you welcome to Tutorialspoint !"; 
        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

ตัวอย่างต่อไปนี้อ่าน 5 ค่าสตริงและพิมพ์เฉพาะที่มีตัวอักษร non-word

import java.util.Scanner; 
import java.util.regex.Matcher; 
import java.util.regex.Pattern; 
public class Example { 
    public static void main( String args[] ) { 
        String regex = "\\W.*$"; 
        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 that contain non-word characters: "); 
        for(int i=0; i<5;i++) { 
            // สร้างออบเจ็กต์ Matcher 
            Matcher m = p.matcher(input[i]); 
            if(m.matches()) { 
                System.out.println(m.group()); 
            } 
        } 
    } 
}

ผลลัพธ์

Enter 5 input strings: $hello sample test1 test2 #$&* 
Strings that contain non-word characters: 
$hello 
#$&*