Ký tự la tinh regex javascript

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

Ký tự la tinh regex javascript
Ký tự la tinh regex javascript
Ả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

Ký tự la tinh regex javascript
Ký tự la tinh regex javascript

  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à. preg_match($pattern, $subject, $matches)

  • $pattern là chuỗi Mẫu Regex
  • array
      0 => string '123' (length=3)
    0 là chuỗi nguồn để chúng ta so khớp với $pattern
  • array
      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

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

  • array
      0 => string '123' (length=3)
    9 là chuỗi Cụm từ thông dụng
  • if (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ường
    • if (preg_match('/^[a-z]+$/', 'topdev', $matches)){
          var_dump($matches);
      }
      2. somatch toàn bộ chuỗi cần tìm
    • if (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 ở 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;
  • 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

– 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áp

cú pháp.

var patt = new RegExp(pattern, modifiers);

// Hoặc đơn giản hơn:

var patt = /pattern/modifiers;

- In which

  • /pattern/công cụ sửa đổi. là một biểu thức chính quy (Biểu thức chính quy)
  • mẫu. is a string only search pattern, used for search
  • sửa đổi. là một công cụ sửa đổi, là công cụ tùy chọn cho công việc tìm kiếm, có thể là i, g hoặc m (Chi tiết ý nghĩa như bên dưới)
1. 2. Các công cụ sửa đổi của Biểu thức chính quy

ModifierDescriptionTry 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 String

Ví dụ

Use a string for search “Minh” in string

var str = "Welcome to Minh Hoàng Blog!";
var pos = str.search("Minh");		// return 11
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 để 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 11
Hã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 String

Ví 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 quy

3. 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
( Xem thêm. Danh sách các ký tự Unicode )Dùng thử »

3. 3. Bộ định lượng

Quantifiers 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ượng

Trong 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 11
0“, “
var str = "Welcome to Minh Hoàng Blog!";
var pos = str.search("Minh");		// return 11
1” trong chuỗi

  • At command 1. do có “_______22_______0” trong chuỗi, nên kết quả sẽ là. ĐÚNG VẬY
  • At command 2. does not have “
    var str = "Welcome to Minh Hoàng Blog!";
    var pos = str.search("Minh");		// return 11
    1” in string, should results is. sai

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