Computer >> Máy Tính >  >> Lập trình >> Java

Làm thế nào để so khớp một ký tự không phải từ bằng cách sử dụng Java RegEx?

Tất cả các ký tự ngoài bảng chữ cái tiếng Anh (cả hai trường hợp) và, các chữ số (0 đến 9) được coi là các ký tự không phải từ. Bạn có thể đối sánh chúng bằng ký tự meta “\ W”.

Ví dụ 1

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
   public static void main(String args[]) {
      //Reading String from user
      System.out.println("Enter a String");
      Scanner sc = new Scanner(System.in);
      String input = sc.nextLine();
      String regex = "^\\W{5}";
      //Compiling the regular expression
      Pattern pattern = Pattern.compile(regex);
      //Retrieving the matcher object
      Matcher matcher = pattern.matcher(input);
      if(matcher.find()) {
         System.out.println("Match occurred");
      } else {
         System.out.println("Match not occurred");
      }
   }
}

Đầu ra 1

Enter a String
*&&^#
Match occurred

Đầu ra 2

Enter a String
hello
Match not occurred

Ví dụ 2

import java.util.Scanner;
public class RegexExample {
   public static void main( String args[] ) {
      String regex = "\\W*";
      System.out.println("Enter input value: ");
      Scanner sc = new Scanner(System.in);
      String input = sc.nextLine();
      boolean bool = input.matches(regex);
      if(bool) {
         System.out.println("match occurred");
      } else {
         System.out.println("match not occurred");
      }
   }
}

Đầu ra

Enter input value:
#***
match occurred