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 Show 2. Các cú pháp cơ bản Biểu thức chính quyNó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 Ảnh. Mã chủ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 applicationMộ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 phpCú pháp là.
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 JSTrong 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 var regexConst = new RegExp('abc'); 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
Ví dụ. Chuỗi kiểm tra mẫu có tồn 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 var pattern = /topdev/igm;
4. Cách viết Regex chi tiếtTrong 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 – Khi bạn tìm dữ liệu tìm kiếm trong một văn bản, bạn có thể sử dụng mẫu tìm kiếm này để mô tả những gì bạn muốn tìm kiếm – Biểu thức chính quy có thể là một ký tự đơn giản hoặc là một mẫu phức tạp hơn – Biểu thức chính quy có thể được sử dụng để thực hiện tất cả các hành động tìm kiếm văn bản (tìm kiếm văn bản) và thay thế văn bản (thay thế văn bản) 1. 1. Cú phápcú pháp. var patt = new RegExp(pattern, modifiers); // Hoặc đơn giản hơn: var patt = /pattern/modifiers; - In which
1. 2. Các công cụ sửa đổi của Biểu thức chính quyModifierDescriptionTry itiThực hiện khớp mà không phân biệt chữ hoa chữ thường (không phân biệt chữ hoa chữ thường)Thử nó »g Thực hiện khớp toàn cầu, tức là sẽ tìm kiếm tất cả kết quả khớp với điều kiện tìm kiếm, chứ không dừng lại chỉ kết quả tìm thấy đầu . Dùng thử »m Thực hiện khớp nhiều dòng. Thử nó " 2. Biểu thức chính quy kết hợp với các phương thức chuỗi. tìm kiếm() và thay thế() 2. Kết hợp biểu thức chính quy với các phương thức chuỗi. tìm kiếm() và thay thế()Trong JavaScript, các biểu thức chính quy thường được sử dụng với hai chuỗi biểu thức. tìm kiếm() và thay thế() – Phương thức tìm kiếm() sử dụng một biểu thức để tìm kiếm một kết quả phù hợp và trả về vị trí phù hợp – Phương thức thay thế() trả về một chuỗi đã sửa đổi, nơi mẫu (mẫu) được thay thế 2. 1. Go to method String search()● Sử dụng với StringVí dụ Use a string for search “Minh” in string var str = "Welcome to Minh Hoàng Blog!"; var pos = str.search("Minh"); // return 11Hãy thử »● Sử dụng với Biểu thức chính quy Ví dụ Sử dụng biểu thức chính quy để thực hiện chuỗi tìm kiếm “minh” không phân biệt chữ hoa chữ thường trong chuỗi var str = "Welcome to MINH HOÀNG BLOG!"; var pos = str.search(/minh/i); // return 11Hãy thử » 2. 2. Go method string replace()Phương thức thay thế () thay thế một giá trị được chỉ định bằng một giá trị khác trong một chuỗi ● Sử dụng với StringVí dụ. var str = "Welcome to Google!"; var res = str.replace("Google","MinhHN.Com");Hãy thử »● Sử dụng với Biểu thức chính quy Ví dụ Sử dụng biểu thức chính quy không phân biệt chữ hoa chữ thường để thay thế “GOOGLE” bằng “MinhHN. Com” trong một chuỗi var str = "Welcome to GOOGLE!"; var res = str.replace(/Google/i,"MinhHN.Com");Hãy thử » 3. Một số mẫu của biểu thức chính quy 3. Một số mẫu của biểu thức chính quy3. 1. Dấu ngoặc vuông (Cặp dấu ngoặc vuông [])Dấu ngoặc vuông được sử dụng để tìm ký tự dải (một dãy ký tự) Biểu thức Mô tảThử nó[abc]Tìm tất cả các ký tự có trong dấu ngoặc nhọn. Dùng thử »[0-9]Tìm tất cả các số có trong dấu ngoặc kép. Thử đi » (x. y)Tìm tất cả các giá trị được phân tách bằng dấu. Thử nó " 3. 2. Siêu ký tựSiêu ký tự là ký tự đặc biệt MetacharacterDescriptionThử nó\dTìm một số. Dùng thử »\sTìm ký tự khoảng trắng (ký tự khoảng trắng). Dùng thử »\bTìm nội dung phù hợp (khớp) với phần bắt đầu hoặc phần kết thúc của từ. Dùng thử »\uxxxxTìm các ký tự Unicode được chỉ định theo số thập lục phân xxxx 3. 3. Bộ định lượngQuantifiers là định lượng định lượng QuantifierDescriptionThử nó+Khớp với bất kỳ chuỗi nào chứa ít nhất một n hoặc nhiều nThử nó »n?Khớp với bất kỳ chuỗi nào chứa số không (0) hoặc một lần xuất hiện nThử nó »n*Khớp với bất kỳ chuỗi nào chứa số không 4. Đối tượng RegExp 4. RegExp đối tượngTrong JavaScript, một đối tượng RegExp là một đối tượng biểu thức chính quy với các thuộc tính và phương thức đã được xác định trước đó 4. 1. Phương thức kiểm tra()– Phương thức test() là một phương thức biểu thức RegExp – Nó tìm kiếm mẫu (pattern) trong chuỗi và trả về true hoặc false tùy thuộc vào kết quả – Ví dụ sau khi tìm kiếm “ var str = "Welcome to Minh Hoàng Blog!"; var pos = str.search("Minh"); // return 110“, “ var str = "Welcome to Minh Hoàng Blog!"; var pos = str.search("Minh"); // return 111” trong chuỗi
Ví dụ. var patt = /o/; patt.test("welcome to minh hoang blog!"); // Hoặc có thể viết gộp: /k/.test("welcome to minh hoang blog!");Hãy thử » 4. 2. Phương thức exec()– Phương thức exec() là một phương thức biểu thức RegExp – Nó tìm kiếm một chuỗi ký tự của mẫu được chỉ định và trả về văn bản đã tìm thấy. Nếu không tìm thấy kết quả phù hợp, null (chuỗi trống) sẽ được trả lại |