Bài tập

Regex: Khám phá Công Cụ Mạnh Mẽ cho Xử Lý Chuỗi

Huy Erick

Regex là gì? Regex, viết tắt của Regular Expression, là một công cụ cực mạnh cho việc tìm kiếm và thay thế chuỗi không cần chỉ định cụ thể. Đây là công cụ được sử...

Regex là gì?

Regex, viết tắt của Regular Expression, là một công cụ cực mạnh cho việc tìm kiếm và thay thế chuỗi không cần chỉ định cụ thể. Đây là công cụ được sử dụng rộng rãi trong PHP, JavaScript và nhiều ngôn ngữ khác. Ví dụ, khi kiểm tra tính hợp lệ của email hoặc số điện thoại, chúng ta thường nghĩ đến việc sử dụng regex.

Regex - Một Chuỗi Cú Pháp Quan Trọng

Regex không chỉ có ứng dụng cho việc kiểm tra tính hợp lệ của dữ liệu, mà còn rất nhiều ứng dụng khác. Nó là một chuỗi các ký tự miêu tả một bộ các chuỗi ký tự khác theo các quy tắc và cú pháp nhất định.

Ảnh: Mastercode

Điều cần lưu ý là mỗi ngôn ngữ sẽ có cú pháp regex khác nhau, nhưng vai trò của ngôn ngữ không quan trọng ở đây. Điều quan trọng là bạn hiểu được cách regex hoạt động và áp dụng nó một cách linh hoạt trong việc xử lý chuỗi.

Ứng dụng của Regex

Regex có rất nhiều ứng dụng hữu ích trong PHP và JavaScript. Dưới đây là một số ví dụ nhẹ nhàng mà bạn có thể tham khảo:

  • Kiểm tra chuỗi có phải là số hay không
  • Kiểm tra chuỗi chỉ chứa các ký tự thường
  • Kiểm tra chuỗi chỉ chứa các ký tự hoa

Dưới đây là một ví dụ về sử dụng hàm preg_match trong PHP để kiểm tra tính hợp lệ của một chuỗi:

if (preg_match('/^[0-9]+$/', '123', $matches)){
    var_dump($matches);
}

Kết quả là một mảng chứa chuỗi "123". Ta cũng có thể kiểm tra tính hợp lệ của chuỗi trong JavaScript bằng cách sử dụng Regular Expression:

var regexConst = new RegExp('abc');

Hoặc sử dụng dạng ngắn gọn hơn:

var pattern = /topdev/igm;

Cách viết Regex chi tiết

Trong việc sử dụng Regex, có một số biểu thức và ký tự đặc biệt mà bạn cần biết. Dưới đây là một vài ví dụ:

  • Ký tự:

    • [0-9]: Khớp với một trong các số từ 0 đến 9.
    • [a-z]: Khớp với một trong các ký tự từ a đến z.
    • [abc]: Khớp với a, b hoặc c.
    • ^abc: Không khớp với a, b hoặc c.
    • d: Thay thế cho [0-9].
    • D: Không phải số, thay thế cho [^0-9].
    • s: Khoảng trắng.
    • S: Không phải khoảng trắng, thay thế cho [^s].
    • w: Ký tự chữ, thay thế cho [a-zA-Z0-9].
    • W: Không phải ký tự chữ, thay thế cho [^w].
    • b: Ký tự thuộc a-z hoặc A-Z hoặc 0-9 hoặc _.
  • Ký tự đặc biệt:

    • .: Khớp với bất kỳ ký tự đơn nào, trừ ký tự xuống dòng.
    • ^: Bắt đầu của từ.
    • $: Kết thúc của từ.
    • /: Bắt đầu hoặc kết thúc chuỗi regex.
    • : Sử dụng tương đương phép OR.
    • ?: Không phải xác định, xuất hiện 0 hoặc 1 lần.
    • *: Xuất hiện 0 hoặc nhiều lần.
    • +: Xuất hiện 1 hoặc nhiều lần.
    • {X}: Xuất hiện X lần.
    • {X,Y}: Xuất hiện trong khoảng từ X đến Y lần.
    • (): Khớp với một nhóm các ký tự đồng thời nhớ kết quả khớp.
    • (?:x): Khớp với x nhưng không nhớ kết quả khớp.
    • x(?=y): Chỉ khớp x nếu ngay sau x là y.
    • x(?!y): Chỉ khớp x nếu ngay sau x không phải là y.

Đây chỉ là một phần nhỏ trong vô vàn cách sử dụng Regex chi tiết trong JavaScript và PHP. Chúng ta có thể tìm hiểu thêm chi tiết về cách sử dụng Regex trên các trang web hướng dẫn.

Hãy bắt đầu khám phá sức mạnh của Regex và áp dụng nó trong việc xử lý chuỗi của bạn!

Từ khóa: Regex, Regular Expression, PHP, JavaScript, xử lý chuỗi.

1