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

Làm cách nào để so khớp một trong hai biểu thức đã cho bằng cách sử dụng Java RegEx?

Sử dụng toán tử hoặc logic | của biểu thức chính quy Java, bạn có thể khớp với một trong hai biểu thức đã cho.

Ví dụ:nếu bạn cần biểu thức chính quy của mình phải khớp với nhiều hơn một biểu thức, bạn có thể làm như vậy bằng cách tách các biểu thức bắt buộc bằng “|”.

Ví dụ 1

 import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Ví dụ {public static void main (String args []) {// Đọc chuỗi từ hệ thống của người dùng .out.println ("Nhập một chuỗi"); Máy quét sc =Máy quét mới (System.in); Chuỗi đầu vào =sc.nextLine (); // Biểu thức chính quy để khớp với chuỗi bắt đầu bằng hello hoặc kết thúc bằng bye String regex ="^ hello | bye $"; // Biên dịch biểu thức chính quy Mẫu pattern =Pattern.compile (regex); // Truy xuất đối tượng matcher Matcher matcher =pattern.matcher (input); 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 Stringhello bạn có khỏe không 

Đầu ra 2

 Nhập một chuỗi Đây là một chuỗi mẫu Không xảy ra đối sánh 

Ví dụ 2

 import java.util.Scanner; public class RegexExample {public static void main (String args []) {// Biểu thức chính quy để so khớp có hoặc không String regex ="yes | no"; System.out.println ("Nhập giá trị đầu vào:"); Máy quét sc =Máy quét mới (System.in); Chuỗi đầu vào =sc.nextLine (); boolean bool =input.matches (regex); if (bool) {System.out.println ("trận đấu đã xảy ra"); } else {System.out.println ("đối sánh không được chấp nhận"); }}} 

Đầu ra 1

 Nhập giá trị đầu vào:yesmatch đã xảy ra 

Đầu ra 2

 Nhập giá trị đầu vào:hellomatch không được chấp nhận