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!