Trang chủ » Blog » Biểu thức chính quy (Regular expression)

Biểu thức chính quy (Regular expression)

bởi CodeGym | 06/12/2023 17:30 | Blog

Biểu thức chính quy (Regular expression) là gì? Regular expression trong java được sử dụng như thế nào?

1. Định nghĩa

Biểu thức chính quy (regular expression hay còn gọi là regex) là 1 chuỗi mẫu được sử dụng để quy định dạng thức của 1 chuỗi, nếu 1 chuỗi nào đó phù hợp với mẫu dạng thức thì chuỗi đó được gọi là so khớp.

VD: Ta có dạng thức của chuỗi là : [0-9]{6,12} . Nếu chuỗi bạn nhập vào là các số và độ dài từ 6 đến 12 số thì được cho là khớp, còn ngược lại thì được cho là không khớp.

2. Regular expression trong Java

VD: Trong class Validate ta khởi tạo 1 chuỗi mẫu (biểu thức chính quy): ” REGEX_EMAIL ” để định dạng cho email và 1 method validateEmail cho phép truyền vào 1 chuỗi và kiểm tra chuỗi đó có đúng định dạng email không.

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Validate {
   Pattern pattern;
   Matcher matcher;
   public static final String REGEX_EMAIL = "[A-Za-z0-9]+@[a-zA-Z0-9]+(\\.[a-zA-Z0-9]+)"; 

   public boolean validateEmail(String string){
       pattern = Pattern.compile(REGEX_EMAIL);
       matcher = pattern.matcher(string);
       return matcher.matches();
   }
}

pattern = Pattern.compile(REGEX_EMAIL): Sử dụng để xác định 1 khuôn mẫu cho các biểu thức chính quy. Nó sử dụng method static compile()  để tạo object.

matcher = pattern.matcher(string): Thực hiện so khớp trên 1 chuỗi ký tự. Sử dụng method matcher() để tạo,

matcher.matches(): Sẽ so sánh chuỗi truyền vào với biểu thức chính quy. Nếu đúng định dạng của biểu thức chính quy thì sẽ trả về true và ngược lại nếu không đúng định dạng sẽ trả về false.

3. Quy tắc viết biểu thức chính quy 

Ký tự: 

^ : Bắt đầu 1 biểu thức chính quy

$ : Kết thúc 1 biểu thức chính quy

+ : Lặp lại 1 hoặc nhiều lần

* : Lặp lại 0 hoặc nhiều lần

? : Lặp lại 0 hoặc 1 lần

: Khoảng liên tiếp

. : 1 ký tự bất kỳ

{n} : Lặp lại n lần

{ n , m } : Lặp lại ít nhất là n lần và nhiều nhất là m lần

{n , } : Lặp lại ít nhất n lần

{ , m} : Lặp lại nhiều nhất m lần

[ ] : Hoặc

( ) : Và

\ : ký tự đặc biệt phía sau nó

\d : Giống với [ 0 – 9 ] : cho phép nhập 1 số

\D : Giống với [ ^ 0 -9] : không cho phép nhập số

\w : Giống [ 0-9a-zA-Z ] : Cho phép nhập số , chữ hoa, chữ thường

\W : Giống [ ^0-9a-zA-Z ] : Không cho phép nhập số , chữ hoa, chữ thường

\s : Cho nhập khoảng trắng

Author: Đào Văn Phi

Đăng ký nhận bộ tài liệu kỹ năng dành cho lập trình viên (video hướng dẫn + slide) tại đây

Tìm hiểu thêm về mô hình Coding Bootcamp tại đây

Download - Giáo trình thuật toán

8 + 12 =

Tags:

0 Lời bình

Gửi Lời bình

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

BÀI VIẾT LIÊN QUAN

BẠN MUỐN HỌC LẬP TRÌNH?

GỌI NGAY

098 953 44 58

Đăng ký tư vấn lộ trình học lập trình

Đăng ký tư vấn, định hướng lộ trình học và giải đáp các thắc mắc về ngành nghề – Miễn phí – Online.

2 + 13 =

TƯ VẤN VỀ LỘ TRÌNH HỌC NGHỀ LẬP TRÌNH TẠI CODEGYM
TƯ VẤN VỀ LỘ TRÌNH HỌC NGHỀ LẬP TRÌNH TẠI CODEGYM