Regex là gì? Ưu Nhược Điểm của Regular Expression

Regex là gì? ưu và nhược điểm của Regex. Các ký tự và cách tạo một Regular Expressio trong JavaScript. Tham khảo bài viết sau nhé!

Regex là gì?

Regex (viết tắt bởi Regular Expression) là chuỗi các ký tự đặc biệt dùng để tìm kiếm và tương tác với các chuỗi ký tự khác theo một mô hình cụ thể.

Regex là gì? Cách Tạo Regular Expression trong JavaScript
Regex là gì?

Regular Expressions cho phép thực hiện các hoạt động như tìm kiếm, thay thế và trích xuất thông tin từ các chuỗi dữ liệu phức tạp một cách linh hoạt và hiệu quả. Được sử dụng trong nhiều ngôn ngữ lập trình và ứng dụng khác nhau, bao gồm Python, JavaScript, Perl,… để thực hiện các tác vụ liên quan đến xử lý chuỗi.

Ưu – nhược điểm của Regex

Ưu điểm của Regex

  • Regex cho phép so khớp dữ liệu đầu vào, giúp tìm lỗi và xử lý dữ liệu dễ dàng.
  • Cung cấp khả năng ràng buộc dữ liệu đầu vào nhanh chóng và chính xác, hạn chế dữ liệu không hợp lệ.

Nhược điểm của Regex

  • Sử dụng Regex đôi khi phức tạp và rườm rà, yêu cầu người dùng phải có tư duy logic và tập trung
  • Sự trừu tượng của các biểu thức chính quy khiến việc nắm bắt và hiểu chúng khó khăn
  • Mỗi ngôn ngữ lập trình hỗ trợ cú pháp Regex theo cách riêng, tạo ra các biểu thức không khớp như mong muốn nếu không sử dụng đúng cách.

Các ký tự cơ bản trong Regular Expression

Dưới đây là danh sách các cú pháp cơ bản của Regular Expression:

Sửa đổi biểu thức

iTìm kiếm không phân biệt bất kỳ chữ cái hoa hay chữ thường.
mTìm kiếm nhiều dòng
uTìm kiếm các mẫu đúng trong chuỗi được mã hóa bởi UTF-8.

Ký tự thường

a | bTìm ký tự khớp với a hoặc b.
[0-9]Tìm ký tự khớp với số từ 0 đến 9
[a-z]Tìm ký tự khớp với các chữ cái từ a đến z
[abc]Chỉ khớp với chữ a, b hoặc c
[^abc]Không khớp với a, b hoặc c.

Ký tự đặc biệt

\dSố bất kỳ (tương đương với [0-9])
\DKý tự không phải là số (tương đương với [^0-9])
\sKhoảng trắng
\SKhông phải là khoảng trắng
\wKý tự chữ (tương đương với [a-zA-Z0-9_]).
\WKý tự không phải chữ (tương đương với [^a-zA-Z0-9_])
\bKý tự thuộc a-z, A-Z, 0-9 hoặc _
|:Tìm ra kết quả phù hợp cho bất kỳ một trong số các mẫu tương tự như OR
.Chỉ tìm một trường hợp của bất kỳ ký tự nào (ngoại trừ xuống dòng)
^Tìm kết quả phù hợp ở đầu của một chuỗi
$Tìm kết quả phù hợp ở cuối của chuỗi

Bộ định lượng

n+Khớp với bất kỳ chuỗi nào có chứa ít nhất một n.
n*Khớp với bất kỳ chuỗi nào không có hoặc có nhiều lần xuất hiện của n
n?Khớp với bất kỳ chuỗi nào có chứa 0 hoặc 1 lần xuất hiện của n
n{x}Khớp với bất kỳ chuỗi nào chứa chuỗi x lặp lại chính xác n lần

Khớp nhóm

()Chọn ra các phần từ của mẫu được sử dụng để so khớp
(?: x)Khớp với x nhưng không lưu trữ kết quả khớp chính xác

Lời kết

Trên đây là một số thông tin cơ bản về Regular Expressions hoặc Regex mà LANIT đã tổng hợp và chia sẻ. Hy vọng rằng nó đã giúp bạn hiểu rõ hơn về chủ đề này. Hãy tiếp tục theo dõi LANIT để có thêm thông tin và kiến thức hữu ích.

avata Hải

Triệu Huyền Trang

Triệu Huyền Trang chuyên gia 3 năm kinh nghiệm trong ngành Công Nghệ, Phần Mềm. Chuyên chia sẻ các kiến thức phần mềm mã nguồn, ứng dụng và thông tin về công nghệ hữu ích.

Chat với chúng tôi qua Zalo!
Chat với chúng tôi qua Zalo!