Biểu thức chính quy trong javascript vẫn chưa hết và nó có rất nhiều ứng dụng trong thực tế để xử lý chuỗi. Các em chịu khó thực hiện tập tin nhé, tham khảo thêm tài liệu ở đây nè https. //www. w3schools. com/jsref/jsref_obj_regexp. asp
Regex là các mẫu [pattern] thay vì các chuỗi cụ thể có thể được sử dụng để tìm/thay thế [Find/Replace]. Là một công cụ cực mạnh để xử lý chuỗi líp trong Php, javascript… Ví dụ. Khi kiểm tra tính hợp lệ của email hoặc số điện thoại, điều bạn nghĩ đến đầu tiên chính là regex. Regex là viết tắt của Biểu thức chính quy, tên thuần Việt là biểu thức chính quy
2. Các cú pháp cơ bản 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 tắt lại một chút là hiểu đơn giản thì regex là một chuỗi ký tự miêu tả một bộ chuỗi ki tự khác, theo các quy tắc và cú pháp nhất định
Không phải lúc nào cũng nên sử dụng regex, mỗi ngôn ngữ sẽ có cú pháp áp dụng regex khác nhau, nhưng không sao vai trò của ngôn ngữ ở đây không quan trọng lắm
Học Biểu thức chính quy và cuộc đời bạn sẽ bớt khổ [Cập nhật v2. 2]
3. Regex application
Một số ví dụ nhẹ nhàng cho Php hoặc Javascript nhé, như đã nói vai trò của ngôn ngữ không quan trọng lắm, 1 chút google sẽ ra các đoạn code mình cần dùng
Nhắc lại. Nguyên tắc hoạt động của biểu thức RegEx do đó khớp dựa trên mẫu [mẫu], mẫu được xây dựng từ các quy tắc cơ bản của biểu thức RegEx. Và để bạn nắm rõ biểu thức chính quy là gì thì có một hàm xử lý Biểu thức chính quy trong php đó là hàm preg_match, sau đó đưa ra một vài ví dụ nhỏ để bạn thực hiện trước khi tìm hiểu các phần nâng cao hơn
3. 1 Hàm Preg_match trong php
Cú pháp là.
if [preg_match['/^[0-9]+$/', '123', $matches]]{ var_dump[$matches]; }1
if [preg_match['/^[0-9]+$/', '123', $matches]]{ var_dump[$matches]; }
2 là chuỗi Mẫu Regexarray 0 => string '123' [length=3]
0 là chuỗi nguồn để chúng ta so khớp vớiif [preg_match['/^[0-9]+$/', '123', $matches]]{ var_dump[$matches]; }
2array 0 => string '123' [length=3]
2 là danh sách kết quả trả về đúng khi khớp 2 chuỗi trên
vd 1. check the a string is number
if [preg_match['/^[0-9]+$/', '123', $matches]]{ var_dump[$matches]; }
Kết quả
array 0 => string '123' [length=3]
VĐ 2. Check tra a string are normal character
if [preg_match['/^[a-z]+$/', 'topdev', $matches]]{ var_dump[$matches]; }
Kết quả
array 0 => string 'topdev' [length=6]
VĐ 3. Check tra a string as a characters
if [preg_match['/^[A-Z]+$/', 'TOPDEV', $matches]]{ var_dump[$matches]; }
Kết quả
array 0 => string 'TOPDEV' [length=6]
3. 2 Tạo 1 Biểu thức chính quy trong JS
Trong Javascript thì Biểu thức chính quy là một chuỗi nhưng nó không được bao quanh bởi cặp dấu nháy đơn
array 0 => string '123' [length=3]3 hoặc nháy kép
array 0 => string '123' [length=3]4 mà nó được bao quanh bởi cặp dấu
array 0 => string '123' [length=3]5. Có 2 cách tạo
cú pháp.
array 0 => string '123' [length=3]6
VD
array 0 => string '123' [length=3]2
Hoặc sử dụng dấu hiệu
array 0 => string '123' [length=3]5
cú pháp.
array 0 => string '123' [length=3]8
in which
array 0 => string '123' [length=3]
9 là chuỗi Biểu thức chính quyif [preg_match['/^[a-z]+$/', 'topdev', $matches]]{ var_dump[$matches]; }
0 là thông số cấu hình cho mẫu chuỗi và nó có các giá trịif [preg_match['/^[a-z]+$/', 'topdev', $matches]]{ var_dump[$matches]; }
1. so khớp không quan tâm đến chữ hoa chữ thườngif [preg_match['/^[a-z]+$/', 'topdev', $matches]]{ var_dump[$matches]; }
2. somatch toàn bộ chuỗi cần tìmif [preg_match['/^[a-z]+$/', 'topdev', $matches]]{ var_dump[$matches]; }
3. somatch luôn cả dữ liệu xuống dòng [multiline]
Ví dụ. Chuỗi kiểm tra mẫu có tồn tại tại chữ “topdev” không, không phân tích chữ hoa chữ thường và tìm toàn bộ tài liệu
if [preg_match['/^[0-9]+$/', '123', $matches]]{ var_dump[$matches]; }0
- mẫu là topdev
- cờ là igm
4. Cách viết Regex chi tiết
Trong Regex có vài cái khác 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… Các cách sử dụng chi tiết Regex trong Javascript bạn có thể tham khảo chi tiết tại