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

อธิบายเมตาอักขระ \w ในนิพจน์ปกติ Java

ซับนิพจน์/เมตาอักขระ “\w” จับคู่ตัวอักษรคำ (word characters) นั่นคือ a ถึง z และ A ถึง Z และ 0 ถึง 9

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

import java.util.regex.Matcher; 
import java.util.regex.Pattern; 
public class RegexExample { 
    public static void main( String args[] ) { 
        String regex = "\\w to"; 
        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 ค่าสตริงและพิมพ์เฉพาะที่มีตัวอักษรคำ

import java.util.Scanner; 
import java.util.regex.Matcher; 
import java.util.regex.Pattern; 
public class MatchWordCharacters { 
    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 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: sample test test23 hello## #$%&& 
Strings that contain word characters: 
sample 
test 
test23 
hello##