Người yêu không có nhưng Regex phải cố mà biết
Bài đăng này đã không được cập nhật trong 5 năm
Tìm các phần tử của 1 chuỗi match với Regular expressions (Regex)
Trong Javascript, chúng được tạo ở giữa các dấu gạch chéo /.../ hoặc được instance bởi new RegExp() và sau đó được sử dụng trong các method như match(), test(), replace().

Match các ký tự riêng lẻ hoặc đặt nhiều ký tự trong dấu ngoặc vuông [...] để match bất kỳ ký tự nào phù hợp

Thêm flag tùy chọn vào cuối Regex để sửa đổi cách thức hoạt động
i (insensitive): không phân biệt chữ hoa, chữ thường.m (multi line): khi có ^ và $ thì ^ sẽ là bắt đầu 1 dòng và $ là kết thúc 1 dòng trong chuỗi, nếu không có flag m thì ^ và $ là bắt đầu và kết thúc của cả chuỗi.g (global): tìm tất cả các đoạn ký tự khớp với mẫu tìm kiếm, nếu không có flag g thì việc tìm kiếm sẽ dừng lại ở lần khớp đầu tiên.

Sử dụng ^ và $
-
^Trùng khớp với phần đầu của chuỗi đích. Ví dụ:^asẽ trùng khớp với chữ a trong chuỗiabc. -
$Trùng khớp với phần cuối của chuỗi đích. Ví dụ:c$sẽ trùng khớp với chữ c trong chuỗiabc.

Sử dụng các ký tự đại diện
-
\dTrùng khớp với 1 ký tự số (digit). -
\DNgược lại với\d. Trùng khớp với 1 ký tự không phải là số (digit). -
\sTrung khớp với 1 ký tự khoảng trắng (whitespace) bao gồm khoảng trắng tạo ra bởi phím Tab. -
\STrùng khớp với 1 ký tự không phải là khoảng trắng (non-whitespace). -
\wTrùng khớp với các ký tự là từ (word) bao gồm dấu _ (underscore) và chữ số. -
\WTrùng khớp với các ký tự không phải là từ (non-word) -
\bTrùng khớp với toàn bộ ký tự đúng trước nó. -
\BNgược lại với \b, sẽ không khớp với toàn bộ mà chỉ 1 phần ký tự đứng trước nó.

Chỉ match 1 số ký tự hoặc nhóm nhất định với 1 bộ định lượng
+Trùng khớp với 1 hoặc nhiều lần ký tự đứng trước nó.*Trùng khớp với 0 hoặc nhiều lần ký tự đứng trước nó.?Trùng khớp với 0 hoặc 1 lần ký tự đứng trước nó..Trùng khớp với 1 ký tự đơn bất kỳ ngoại trừ ký tự ngắt dòng (line-break) và cũng không lấy được ký tự có dấu (unicode).x{n}Trùng khớp đúng với n lần ký tự đứng trước nó (n >= 0).x{n,}Trùng khớp với ít nhất n lần ký tự đứng trước nó (n >= 0).x{n, m}Trùng khớp với ít nhất n lần và nhiều nhất là m lần ký tự đứng trước nó (n >= 0, m >= 0, n <= m).
Sử dụng (...) để gộp vào cùng 1 nhóm
(...)Nhóm các ký tự lại.(x|y)Trùng khớp với x hoặc y.

Sử dụng các ký tự đặc biệt bằng cách sử dụng \
- Các ký tự đặc biệt trong JS regex:
^ $ \. * +? () [] {} | - Cách sử dụng, ví dụ sử dụng
*:\*

Match với bất kỳ thứ gì, ngoại trừ ký tự nào đó
[^xyz]So sánh và không trùng khớp với những ký tự nằm trong khoảng chỉ định. Dấu^(dấu mũ) nằm trong dấu ngoặc vuông là một dấu phủ định.

Tham khảo:
https://dev.to/chrisachard/intro-to-regex-for-web-developers-2fj4
All rights reserved