Hướng Dẫn Sử Dụng Regex

Đóng góp bởi: TriAnh Solutions 1748 lượt xem Đăng ngày 09/06/2023 Chia sẻ:

Biểu thức chính quy (Regular Expression) là gì?

Regex là các mẫu (pattern) thay vì các chuỗi cụ thể được sử dụng tìm/thay thế (Find/Replace). Là một công cụ cực mạnh cho xử lý chuỗi trong Php, javascript… Ví dụ: Khi kiểm tra tính hợp lệ của email hoặc số điện thoại thì điều bạn nghĩ tới đầu tiên chính là Regex. Regex là viết tắt của Regular Expression, tên thuần Việt là biểu thức chính quy.

Ký tự cơ bản của Biểu thức chính quy

Nói chung là Regex còn nhiều ứng dụng hữu ích khác, tóm gọn lại một chút là hiểu đơn giản thì Regex là một chuỗi các kí tự miêu tả một bộ các chuỗi kí tự khác, theo những quy tắc và cú pháp nhất định.

Hàm Preg_match trong php

Nguyên tắc hoạt động của biểu thức Regex là so khớp dựa vào mẫu (pattern), mẫu được xây dựng từ các quy tắc căn bản của biểu thức RegEx. Và để các bạn nắm rõ regular expression là gì thì có một hàm xử lý Regular Expression trong php đó là hàm preg_match, sau đó đưa ra một vài ví dụ nhỏ để các bạn thực hành trước khi tìm hiểu các phần nâng cao hơn.

Cú pháp là: preg_match($pattern, $subject, $matches)

  • $pattern là chuỗi Regex Pattern
  • $subject là chuỗi nguồn để chúng ta so khớp với $pattern
  • $matches là danh sách kết quả trả về đúng khi so khớp 2 chuỗi trên

VD1: kiểm tra một chuỗi là số

if (preg_match(‘/^[0-9]+$/’, ‘123’, $matches)){

    var_dump($matches);

}

kết quả:

array

  0 => string ‘123’ (length=3)

VD2: kiểm tra một chuỗi các ký tự thường

if (preg_match(‘/^[a-z]+$/’, ‘trianh’, $matches)){

    var_dump($matches);

}

Kết quả: 

array

  0 => string ‘trianh’ (length=6)

VD3: Kiểm tra một chuỗi là các ký tự hoa

if (preg_match(‘/^[A-Z]+$/’, ‘TRIANH’, $matches)){

    var_dump($matches);

}

Kết quả:

array

  0 => string ‘TRIANH’ (length=6)

Tạo 1 Regular Expressions trong JS

Trong Javascript thì Regular Expression là một chuỗi nhưng nó không được bao quanh bởi cặp dấu nháy đơn ‘ hoặc nháy kép ” mà nó được bao quanh bởi cặp dấu /. Có 2 cách tạo:

Cú pháp: new RegExp(pattern[, flags])

VD:

var regexConst = new RegExp(‘abc’);

Hoặc sử dụng dấu /

Cú pháp: /pattern/flags

Trong đó:

  • pattern là chuỗi Regular Expression
  • flags là thông số cấu hình cho chuỗi pattern và nó có các giá trị:

    • i : so khớp không quan tâm đến chữ hoa chữ thường
    • g : so khớp toàn bộ chuỗi cần tìm
    • m : so khớp luôn cả các dữ liệu xuống dòng (multiline)

Ví dụ: Pattern kiểm tra chuỗi có tồn tại chữ “trianh” không, không phân biệt chữ hoa chữ thường và tìm toàn bộ tài liệu.

var pattern = /trianh/igm;

  • pattern là trianh
  • flags là igm

Cách viết Regex chi tiết

Trong Regex có vài cái khá là điển hình và được sử dụng rất nhiều bao gồm so khớp chuỗi, tách chuỗi, tìm kiếm trong chuỗi, thay thế chuỗi…

Ký tự thường

Ký tự đặc biệt

Ký tự lặp

Khớp nhóm

Trả lời

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 *


The reCAPTCHA verification period has expired. Please reload the page.

XU THẾ TẤT YẾU

Đồng hành xu thế chuyển đổi số cho doanh nghiệp cả nước.

Liên hệ ngay với chúng tôi qua số
hotline 1900.2727777 để được hướng dẫn.

Chúng tôi trân trọng và rất hân hạnh được phục vụ!