Kịch bản thuyết trình: Slides 148, 149
Mình tiếp tục với slide 148 và 149 - phần cuối cùng về JavaScript RegExp (Regular Expression).
Regex là gì?
Regex = Regular Expression = biểu thức chính quy. Dùng để tìm kiếm, kiểm tra hoặc thay thế chuỗi văn bản.
Cách viết:
/pattern/flags
new RegExp("pattern", "flags")
Các flag hay dùng
g→ tìm tất cả kết quả (global).i→ không phân biệt chữ hoa/thường (ignore case).m→ cho phép regex hoạt động đa dòng (multi-line).s→ dấu.có thể khớp cả ký tự xuống dòng.u→ hỗ trợ Unicode.
Ký tự đặc biệt thường gặp
.→ khớp với bất kỳ ký tự nào (trừ xuống dòng).\d→ khớp với chữ số (0–9).\w→ khớp với ký tự chữ + số + gạch dưới.[a-z]→ khớp với chữ thường a → z.[^0-9]→ khớp với ký tự không phải số.
Định vị trong chuỗi (Assertions)
^→ bắt đầu chuỗi.$→ kết thúc chuỗi.\b→ ranh giới từ (word boundary).(?=...)→ Lookahead: kiểm tra ngay sau vị trí hiện tại có khớp với mẫu không.(?<=...)→ Lookbehind: kiểm tra ngay trước vị trí hiện tại có khớp với mẫu không.
Ví dụ 1: Kiểm tra chuỗi có chứa từ khóa
let text = "I love JavaScript!";
let pattern = /JavaScript/;
console.log(pattern.test(text));
// true
test()dùng để kiểm tra xem chuỗi có khớp regex không.- Regex
/JavaScript/sẽ tìm từ "JavaScript". - Kết quả true vì trong chuỗi có từ đó.
Ví dụ 2: Tìm tất cả số trong chuỗi với flag g
let text = "My phone is 12345 and my code is 6789";
let pattern = /\d+/g;
console.log(text.match(pattern));
// ["12345", "6789"]
\d+→ tìm 1 hoặc nhiều chữ số liên tiếp.- Flag
g→ tìm tất cả kết quả, không chỉ kết quả đầu tiên. match()sẽ trả về mảng ["12345", "6789"].
Như vậy là mình đã hoàn thành phần cuối cùng về JavaScript RegExp - một công cụ mạnh mẽ để xử lý chuỗi và tìm kiếm pattern trong JavaScript.
🎉 Chúng ta đã hoàn thành toàn bộ 30 group slides của khóa học JavaScript!