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

Biểu thức chính quy \ Q Siêu ký tự trong Java

Biểu thức con / siêu ký tự "\ Q" thoát khỏi tất cả các ký tự lên đến "\ E", tức là bạn có thể thoát khỏi ký tự siêu trong biểu thức chính quy bằng cách đặt chúng ở giữa \ Q và \ E. Ví dụ:biểu thức [aeiou] khớp với các chuỗi có các chữ cái nguyên âm trong đó.

Ví dụ

 import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class SampleProgram {public static void main (String args []) {String regex ="[aeiou] "; Máy quét sc =Máy quét mới (System.in); System.out.println ("Nhập chuỗi nhập:"); Chuỗi đầu vào =sc.nextLine (); // Tạo đối tượng Pattern Mẫu pattern =Pattern.compile (regex); Matcher matcher =pattern.matcher (đầu vào); if (matcher.find ()) {System.out.println ("Đã xảy ra trùng khớp"); } else {System.out.println ("Không xảy ra trùng khớp"); }}} 

Đầu ra

 Nhập chuỗi đầu vào:sampleMatch đã xảy ra 

Tuy nhiên, nếu bạn sử dụng cùng một biểu thức với trong \ Q và \ E như \ Q [aeiou] \ E Nó khớp với cùng một chuỗi ký tự "[aeiou]" trong chuỗi đã cho. Tóm lại, các ký tự meta mất đi ý nghĩa của chúng và sẽ được coi như các ký tự bình thường

Ví dụ

 import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class SampleProgram {public static void main (String args []) {String regex ="\\ Q [aeiou] \\ E "; Máy quét sc =Máy quét mới (System.in); System.out.println ("Nhập chuỗi nhập:"); Chuỗi đầu vào =sc.nextLine (); // Tạo đối tượng Pattern Mẫu pattern =Pattern.compile (regex); Matcher matcher =pattern.matcher (đầu vào); if (matcher.find ()) {System.out.println ("Đã xảy ra trùng khớp"); } else {System.out.println ("Không xảy ra trùng khớp"); }}} 

Đầu ra 1

 Nhập chuỗi đầu vào:sampleMatch không xảy ra 

Đầu ra 2

 Nhập chuỗi đầu vào:Các chữ cái [aeiou] là các nguyên âm trong bảng chữ cái tiếng Anh