Regex là gì?

Chúng tôi vui mừng chia sẻ kiến thức về từ khóa Regex la gi và hy vọng rằng nó sẽ hữu ích cho bạn đọc. Bài viết tập trung trình bày ý nghĩa, vai trò và ứng dụng của từ khóa này trong việc tối ưu hóa nội dung trang web và chiến dịch tiếp thị trực tuyến. Chúng tôi cung cấp các phương pháp tìm kiếm, phân tích và lựa chọn từ khóa phù hợp, cùng với các chiến lược và công cụ hữu ích. Hy vọng rằng thông tin mà chúng tôi chia sẻ sẽ giúp bạn xây dựng chiến lược thành công và thu hút lưu lượng người dùng. Xin chân thành cảm ơn sự quan tâm và hãy tiếp tục theo dõi blog của chúng tôi để cập nhật những kiến thức mới nhất.

Regex là gì?

Regex là các mẫu (pattern) thay vì các chuỗi cụ thể được sử dụng tìm/thay thế (Find/Replace). Là một phương tiện cực mạnh cho xử lí chuỗi trong Php, javascript… Ví dụ: Khi kiểm tra tính hợp thức của email hoặc số điện thoại cảm ứng thông minh thì điều bạn nghĩ tới trước tiên đấy là regex. Regex là viết tắt của Regular Expression, tên thuần Việt là biểu thức chính quy.

Bạn Đang Xem: Regex là gì?

2.Các cú pháp cơ bản Regular Expression

Nói chung là Regex còn nhiều ứng dụng hữu ích khác, tóm gọn lại một tẹo là hiểu đơn giản thì regex là một chuỗi các kí tự miêu tả một bộ các chuỗi ki tự khác, theo những quy tắc và cú pháp nhất định.

Regular Expression
Ảnh: Mastercode

Không phải lúc nào thì cũng nên dùng regex, mỗi tiếng nói sẽ sở hữu được cú pháp vận dụng regex khác nhau, nhưng không sao vai trò của tiếng nói ở đây không quan trọng lắm.

3.Ứng dụng Regex

Một số ví dụ nhẹ nhõm cho Php hoặc Javascript nhé, như đã nói vai trò của tiếng nói 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 là so khớp dựa vào mẫu (pattern), mẫu được xây dựng từ các quy tắc cơ bản của biểu thức RegEx. Và để các bạn nắm rõ regular expression là gì thì có một hàm xử lý Regular Expression trong php đó là hàm preg_match, sau đó đưa ra một vài ví dụ nhỏ để các bạn thực hiện trước lúc tìm hiểu các phần nâng mạnh hơn.

3.1 Hàm Preg_match trong php

Cú pháp là: preg_match($pattern, $subject, $matches)

  • $pattern là chuỗi Regex Pattern
  • $subject là chuỗi nguồn để tất cả chúng ta so khớp với $pattern
  • $matches là list kết quả trả về đúng vào lúc so khớp 2 chuỗi trên

VD 1: kiểm tra mội chuỗi là số

if (preg_match(‘/^[0-9]+$/’, ‘123’, $matches)){ var_dump($matches); }

Kết quả:

array 0 => string ‘123’ (length=3)

Xem Thêm : Con Gái Yêu Con Gái Được Gọi Là Gì? ⚡️ Các Dấu Hiệu Nhận Biết

VD 2: Kiểm tra một chuỗi là các ký tự thường

if (preg_match(‘/^[a-z]+$/’, ‘topdev’, $matches)){ var_dump($matches); }

Kết quả

array 0 => string ‘topdev’ (length=6)

VD 3: Kiểm tra một chuỗi là các ký tự hoa

if (preg_match(‘/^[A-Z]+$/’, ‘TOPDEV’, $matches)){ var_dump($matches); }

Kết quả

array 0 => string ‘TOPDEV’ (length=6)

3.2 Tạo 1 Regular Expressions trong JS

Trong Javascript thì Regular Expression là một chuỗi nhưng nó không được xung quanh bởi cặp dấu nháy đơn ‘ hoặc nháy kép ” mà nó được xung quanh bởi cặp dấu /. Có 2 cách tạo:

Cú pháp: new RegExp(pattern[, flags])

VD:

var regexConst = new RegExp(‘abc’);

Xem Thêm : Hooman Là Gì – Hooman Đã Đi Xa Đến Mức Nào (づ ̄ ³ ̄)づ

Hoặc sử dụng dấu /

Cú pháp: /pattern/flags

Trong số đó:

  • pattern là chuỗi Regular Expression
  • flags là thông số cấu hình cho chuỗi pattern và nó có những giá trị:
    • i : so khớp không quan tâm đến chữ hoa chữ thường
    • g : so khớp toàn bộ chuỗi cần tìm
    • m : so khớp luôn cả những tài liệu xuống dòng (multiline)

Ví dụ: Pattern kiểm tra chuỗi có tồn tại chữ “topdev” không, không phân biệt chữ hoa chữ thường và tìm toàn bộ tài liệu.

var pattern = /topdev/igm;

  • pattern là topdev
  • flags là igm

4.Cách viết Regex cụ thể chi tiết

Trong Regex có vài cái khá là tiêu biểu và được sử dụng rất nhiều gồm có so khớp chuỗi, tách chuỗi, tìm kiếm trong chuỗi, thay thế chuỗi… Những cách sử dụng cụ thể chi tiết Regex trong Javascript bạn cũng có thể tham khảo cụ thể chi tiết tại đây nhé hoặc ở đây.

4.1 Ký tự thường

STT Biểu thức Mô tả Ghi chú 01 a|b Khớp với a hoặc b 02 [0-9] Khớp với một trong số từ 0 tới 9 03 [a-z] Khớp với một trong chữ từ a tới z 04 [abc] Có thể khớp với a, b hoặc c 05 [^abc] Khớp với bất kì kí tự nào ngoài a, b và c Nếu ^ xuất hiện trước tiên sau ngoặc vuông, nó có tức là phủ định 06 d Số bất kì Thay thế cho [0-9] 07 D Ký tự không phải là số Thay thế cho [^0-9] 08 s Kí tự khoảng chừng trắng 09 S Không phải kí tự khoẳng trắng Thay thế cho [^s] 10 S+ Một số kí tự không phải khoẳng trắng Một hoặc một số 11 w Kí tự chữ Thay thế cho [a-zA-Z0-9] 12 W Kí tự không phải chữ Thay thế cho [^w] 13 b Ký tự thuộc a-z hoặc A-Z hoặc 0-9 hoặc _ Thay thế cho [a-zA-Z0-9_]

4.2 Ký tự đặc biệt quan trọng

TT Biểu thức Mô tả Ghi chú 14 . Khớp với bất kỳ ký tự đơn nào ngoại trừ 15 ^ Khai mạc của từ 16 $ Kết thúc của từ 17 / Khai mạc hoặc kết thúc chuỗi regex 18 | Sủ dụng tương đương phép or Hay dùng trong cặp ngoặc tròn 19 Trình diễn một kí tự ngay sau nó từ kí tự đặc biệt quan trọng thành kí tự thường và trái lại VD: b sẽ trở thành như mình nói ở trên, * sẽ trở thành kí tự * chứ không phải số lần lặp nữa

4.3 Lặp

STT Biểu thức Mô tả Ghi chú 20 * Xuất hiện 0 hoặc nhiều lần viết ngắn gọn cho {0,} 21 + Xuất hiện 1 hoặc nhiều lần viết ngắn gọn cho {1,} 22 ? Xuất hiện 0 hoặc 1 lần viết ngắn gọn cho {0,1} 23 {X} Xuất hiện X lần X không phải số âm 24 {X,Y} Xuất hiện trong khoảng chừng X tới Y lần X,Y không phải số âm 25 ? có tức là xuất hiện 0 hoặc nhiều lần, thêm ? phía sau tức là tìm kiếm khớp nhỏ nhất

4.4 Khớp nhóm

STT Biểu thức Mô tả Ghi chú 26 () Khớp với một nhóm các kí tự song song nhớ kết quả khớp Ví dụ (e|g)mail sẽ khớp với email hoặc gmail. /(ab) (cd) 1 2/ sẽ khớp với “ab cd ab cd” 27 (?:x) Khớp với x nhưng không nhớ kết quả khớp “foo foo” sẽ khớp với /(foo) 1/ chứ không khớp với (?:foo) 1 28 x(?=y) Chỉ khớp x nếu ngay sau x là y “hello” sẽ khớp với /h(?=e)/ nhưng kết quả trả về chỉ có h 29 x(?!y) Chỉ khớp x nếu ngay sau x không phải là y

TopDev

Có thể bạn muốn xem thêm:

  • Tất tần tật các Frontend cheatsheets tốt nhất
  • NGINX là gì? Tổng quan về NGINX
  • 20 phương tiện và tài liệu hay ho giành cho Front-end

You May Also Like

About the Author: v1000