Cách tạo và sử dụng biểu thức chính quy (regular expressions) trong JavaScript
Biểu thức chính quy (regular expressions) là một công cụ mạnh mẽ trong JavaScript cho phép bạn tìm kiếm, so khớp và thực hiện các thao tác xử lý trên các chuỗi dựa trên các quy tắc pattern nhất định. Trong bài viết này, chúng ta sẽ tìm hiểu cách tạo và sử dụng biểu thức chính quy trong JavaScript.
Tạo biểu thức chính quy
Có hai cách để tạo biểu thức chính quy trong JavaScript:
– Sử dụng biểu thức chính quy trực tiếp: Bạn có thể tạo một biểu thức chính quy bằng cách sử dụng cú pháp /pattern/
, trong đó pattern
là mẫu bạn muốn so khớp.
Ví dụ: /abc/
là một biểu thức chính quy để tìm kiếm chuỗi “abc” trong một chuỗi khác.
– Sử dụng đối tượng RegExp: Bạn có thể tạo một đối tượng RegExp bằng cách sử dụng hàm tạo RegExp()
. Truyền mẫu cần tìm kiếm như một chuỗi vào hàm tạo.
Ví dụ: new RegExp("abc")
tạo một đối tượng RegExp để tìm kiếm chuỗi “abc” trong một chuỗi khác.
Sử dụng biểu thức chính quy
Có một số phương thức có sẵn trong JavaScript để sử dụng biểu thức chính quy:
– test()
: Phương thức test()
kiểm tra xem một chuỗi có khớp với biểu thức chính quy hay không. Nó trả về true nếu khớp và false nếu không khớp.
const regex = /abc/;
const str = "abcdef";
console.log(regex.test(str)); // Kết quả: true
– exec()
: Phương thức exec()
tìm kiếm một khớp đầu tiên trong chuỗi và trả về một mảng chứa thông tin về khớp. Nếu không có khớp, nó trả về null.
const regex = /abc/;
const str = "abcdef";
console.log(regex.exec(str)); // Kết quả: ["abc", index: 0, input: "abcdef", groups: undefined]
– match()
: Phương thức match()
tìm kiếm tất cả các khớp trong chuỗi và trả về một mảng chứa thông tin về các khớp. Nếu không có khớp, nó trả về null.
const regex = /abc/;
const str = "abcdefabc";
console.log(str.match(regex)); // Kết quả: ["abc", "abc"]
– replace()
: Phương thức replace()
tìm kiếm một khớp trong chuỗi và thay thế nó bằng một chuỗi khác.
const regex = /abc/;
const str = "abcdef";
console.log(str.replace(regex, "xyz")); // Kết quả: "xyzdef"
– split()
: Phương thức split()
tách chuỗi thành một mảng các phần tử bằng cách sử dụng biểu thức chính quy làm điểm tách.
const regex = /,/;
const str = "apple,banana,orange";
console.log(str.split(regex)); // Kết quả: ["apple", "banana", "orange"]
Cú pháp và cấu trúc của biểu thức chính quy
Biểu thức chính quy trong JavaScript được xác định bằng một loạt các ký tự và ký hiệu để tạo thành một mẫu so khớp. Dưới đây là một số ký tự và ký hiệu quan trọng:
/
: Ký tự phân cách bắt đầu và kết thúc của biểu thức chính quy.^
: Khớp với đầu chuỗi.$
: Khớp với cuối chuỗi..
: Khớp với bất kỳ ký tự nào trừ ký tự xuống dòng.*
: Khớp với 0 hoặc nhiều lần xuất hiện của ký tự trước đó.+
: Khớp với ít nhất 1 lần xuất hiện của ký tự trước đó.?
: Khớp với 0 hoặc 1 lần xuất hiện của ký tự trước đó.[]
: Khớp với một trong các ký tự nằm trong dấu ngoặc vuông.()
: Nhóm các phần của biểu thức chính quy.
Ví dụ:
/a.b/
: Khớp với chuỗi có một ký tự “a”, bất kỳ ký tự nào và sau đó là một ký tự “b”./[abc]/
: Khớp với chuỗi có một trong các ký tự “a”, “b” hoặc “c”./[0-9]/
: Khớp với chuỗi có một ký tự số từ 0 đến 9./^abc/
: Khớp với chuỗi bắt đầu bằng “abc”./\d+/
: Khớp với chuỗi có một hoặc nhiều ký tự số.
Biểu thức chính quy là một công cụ mạnh mẽ trong JavaScript để tìm kiếm, so khớp và xử lý chuỗi. Với các phương thức như test()
, exec()
, match()
, replace()
và split()
, bạn có thể thực hiện các thao tác phức tạp trên chuỗi dựa trên mẫu. Hiểu cú pháp và cách sử dụng đúng của biểu thức chính quy sẽ giúp bạn xử lý chuỗi một cách hiệu quả trong JavaScript.