Trong video này, chúng tôi sẽ trích xuất số điện thoại và dữ liệu thẻ tín dụng bằng biểu thức chính quy và Chuỗi. trận đấu có sẵn trong JavaScript
0. 00 Này, tôi là Harit Himanshu từ bonsaiilabs. Chào mừng bạn đến với loạt bài về JavaScript. Hôm nay trong video này, bạn sẽ tìm hiểu về cách tìm mẫu số bên trong văn bản phi cấu trúc bằng biểu thức chính quy trong JavaScript. Nếu bạn chưa xem video trước của tôi về cách tìm mẫu chuỗi bằng biểu thức chính quy, hãy nhấp vào thẻ ở trên và xem thẻ đó trước khi tiếp tục video này. Video đó sẽ cung cấp cho bạn ý tưởng hay về lý do tại sao việc tìm kiếm một mẫu bên trong văn bản bằng cách sử dụng cụm từ thông dụng lại có ý nghĩa tốt. Trong video trước, chúng ta đã xem xét tập dữ liệu chứa ba thông tin chính là tên, số điện thoại và thẻ tín dụng. Chúng tôi cũng đã học cách trích xuất tên từ tập dữ liệu và video này chúng tôi sẽ xem xét cách trích xuất số điện thoại và thông tin thẻ tín dụng. Bây giờ chúng ta biết rằng ngay cả số điện thoại của chúng ta cũng chứa một mẫu, nhưng loại mẫu nào?
0. 48 Nó chứa ba số theo sau là dấu gạch ngang, tiếp theo là ba số, tiếp theo là dấu gạch ngang lần nữa và cuối cùng theo sau là bốn số. Vì vậy, làm thế nào để chúng ta tạo ra mô hình này? . Trong bộ ký tự, chúng ta cần biết rằng các số có thể khác nhau giữa 0 và 9 bằng cách sử dụng ký hiệu phạm vi. Nhưng làm thế nào để chúng ta biết rằng phải có chính xác ba số? . Chúng tôi sẽ thêm một cặp dấu ngoặc nhọn và trong cặp đó, chúng tôi cho biết chính xác có bao nhiêu lần xuất hiện của biểu thức đứng trước đó cần tìm. Vì vậy, chúng tôi đang nói, chúng tôi đang tìm kiếm chính xác ba số được xác định trong bộ ký tự. Bây giờ như bạn có thể tưởng tượng, chúng ta có thể sử dụng lại bài tập này để hoàn thành mẫu số điện thoại của mình. Đầu tiên, chúng tôi sẽ thêm một dấu gạch ngang và sau đó lặp lại mẫu trước đó vì nó khớp chính xác với nó và sau đó chúng tôi sẽ thêm một dấu gạch ngang khác theo sau là mẫu tương tự
1. 44 Nhưng lần này chúng tôi đang tìm kiếm chính xác bốn số và đây là cách chúng tôi có thể trích xuất các số điện thoại từ tập dữ liệu của mình. Hãy chạy qua mã để đảm bảo rằng sự hiểu biết của chúng tôi là chính xác. Vì vậy, chúng tôi đang sử dụng cùng một tập dữ liệu như trong video trước và chúng tôi sẽ thêm biểu thức chính quy để trích xuất số điện thoại. Chúng ta sẽ nói rằng chúng ta cần từ 0 đến 9 với chính xác 3 số theo sau là dấu gạch ngang với 0 đến 9 ba số lần nữa và sau đó từ 0 đến 9 theo sau là 4 số lần nữa. Và vì chúng tôi không muốn dừng lại ở lần xuất hiện đầu tiên, nên chúng tôi sẽ đặt biểu thức này thành biểu thức chính quy dưới dạng tìm kiếm toàn cầu. Chúng tôi sẽ chuyển đối tượng biểu thức chính quy này sang phương thức khớp dấu chấm chuỗi và bất kỳ kết quả nào chúng tôi nhận được, chúng tôi sẽ in kết quả đó trên bàn điều khiển. Hãy chạy nó. Và bây giờ khi chúng tôi chạy, chúng tôi sẽ thấy rằng chúng tôi đang trích xuất số điện thoại của mình và nó không khớp với tên và thẻ tín dụng
2. 29 Bây giờ chúng tôi biết rằng ngay cả thẻ tín dụng của chúng tôi cũng có mẫu. Nó có bốn số, theo sau là khoảng trắng, tiếp theo là số điện thoại, tiếp theo là khoảng trắng, tiếp theo là bốn số, cách một khoảng trắng và cuối cùng là bốn số. Vì vậy, hãy viết mô hình để trích xuất thẻ tín dụng ngay bây giờ. Vì vậy, chúng tôi sẽ nói rằng chúng tôi cần một mẫu bộ ký tự từ 0 đến 9 với 4 số theo sau là khoảng trắng. Và lặp lại cùng một mẫu ba lần với số không đến chín bốn chữ cái và theo sau là khoảng cách giữa chúng. Tóm lại, chúng tôi đang tìm kiếm bốn số theo sau là ba dấu cách giữa chúng, được biểu thị bằng dấu gạch chéo ngược S. Bây giờ chúng ta sẽ tiếp tục, xóa màn hình và chạy lại mã. Và bây giờ như bạn có thể tưởng tượng, chúng tôi không thể trích xuất tên và số điện thoại, nhưng chúng tôi có thể trích xuất số thẻ tín dụng tốt. Vì vậy, như bạn có thể thấy, bạn có thể sử dụng khớp dấu chấm chuỗi kết hợp với các biểu thức chính quy để trích xuất thông tin ra khỏi văn bản phi cấu trúc. Và đó là nó. Tôi hy vọng bạn đã học được một cái gì đó mới ngày hôm nay. Nếu bạn thích video này, vui lòng nhấn nút đăng ký trên kênh của chúng tôi để nhận được nhiều nội dung hấp dẫn hơn về JavaScript mỗi tuần. Cho đến lúc đó, hãy tiếp tục học các kỹ năng mới và áp dụng chúng thường xuyên để trở thành một lập trình viên chuyên nghiệp. Hẹn gặp lại bạn lần sau
Giả sử rằng, nếu bạn muốn tìm từ
Example: if you wanted to match “hi”, “hello”, or “hola”, the RegEx would be: /hi|hello|hola/.
1 trong chuỗi Example: if you wanted to match “hi”, “hello”, or “hola”, the RegEx would be: /hi|hello|hola/.
2, bạn có thể sử dụng biểu thức chính quy sau [RegEx]. Example: if you wanted to match “hi”, “hello”, or “hola”, the RegEx would be: /hi|hello|hola/.
3JavaScript sử dụng phương thức
Example: if you wanted to match “hi”, “hello”, or “hola”, the RegEx would be: /hi|hello|hola/.
4, lấy RegEx và áp dụng nó cho một chuỗi [được đặt bên trong dấu ngoặc đơn]. Nó Example: if you wanted to match “hi”, “hello”, or “hola”, the RegEx would be: /hi|hello|hola/.
5 Example: if you wanted to match “hi”, “hello”, or “hola”, the RegEx would be: /hi|hello|hola/.
6 hoặc Example: if you wanted to match “hi”, “hello”, or “hola”, the RegEx would be: /hi|hello|hola/.
7, tùy thuộc vào mẫu có khớp hay khônglet str1 = "God helps those who help themselves";
let str2 = "You can't expect everyone to like you";
let testRegex = /help/;
testRegex.test[str1]; //returns true
testRegex.test[str2]; //returns false
Trong ví dụ trên, chúng tôi đã sử dụng RegEx theo nghĩa đen
Example: if you wanted to match “hi”, “hello”, or “hola”, the RegEx would be: /hi|hello|hola/.
3 để tìm kiếm từ trợ giúp trong biến Example: if you wanted to match “hi”, “hello”, or “hola”, the RegEx would be: /hi|hello|hola/.
9 và Example: “Quick brown fox”.match[\brown\]; \\returns [“brown”]
0Một ví dụ khác về RegEx theo nghĩa đen có thể là
Example: “Quick brown fox”.match[\brown\]; \\returns [“brown”]
1, sẽ khớp với từ mong đợi từ chuỗiChúng ta có thể tìm kiếm nhiều mẫu bằng toán tử OR.
Example: “Quick brown fox”.match[\brown\]; \\returns [“brown”]
2Example: if you wanted to match “hi”, “hello”, or “hola”, the RegEx would be: /hi|hello|hola/.
Phương pháp trận đấu
Có một phương pháp khác trong JavaScript.
Example: “Quick brown fox”.match[\brown\]; \\returns [“brown”]
3. Nó được áp dụng trên một chuỗi và lấy RegEx làm đối số. Phương thức Example: “Quick brown fox”.match[\brown\]; \\returns [“brown”]
3 trả về một mảng với RegEx phù hợpExample: “Quick brown fox”.match[\brown\]; \\returns [“brown”]
cờ
Chúng ta có thể sử dụng cờ
Example: “Quick brown fox”.match[\brown\]; \\returns [“brown”]
5 để bỏ qua trường hợp chữ cái trong khi khớp“Xin chào” và “xin chào” sẽ khớp với RegEx
Example: “Quick brown fox”.match[\brown\]; \\returns [“brown”]
6Nếu chúng tôi muốn trích xuất một trận đấu của mọi lần xuất hiện của một từ trong một chuỗi, chúng tôi sử dụng cờ
Example: “Quick brown fox”.match[\brown\]; \\returns [“brown”]
7Example: “hello, hello, hello”.match[\hello\g]; //returns [“hello”,”hello”,”hello”]
Chúng ta cũng có thể sử dụng các cờ
Example: “Quick brown fox”.match[\brown\]; \\returns [“brown”]
5 và Example: “Quick brown fox”.match[\brown\]; \\returns [“brown”]
9 cùng nhau để tìm tất cả các lần xuất hiện của một từ, cũng như bỏ qua các trường hợpThẻ hoang dã
Thẻ đại diện [
Example: “hello, hello, hello”.match[\hello\g]; //returns [“hello”,”hello”,”hello”]
0] khớp với bất kỳ thứ gìThẻ đại diện
Example: “hello, hello, hello”.match[\hello\g]; //returns [“hello”,”hello”,”hello”]
0 [còn gọi là Example: “hello, hello, hello”.match[\hello\g]; //returns [“hello”,”hello”,”hello”]
2 hoặc Example: “hello, hello, hello”.match[\hello\g]; //returns [“hello”,”hello”,”hello”]
3] sẽ khớp với một ký tự bất kỳExample: if you want to match “huh”,”hut”,”hum”,”hug”, we can use the RegEx /hu./
Lớp nhân vật
Các lớp ký tự cho phép bạn xác định một nhóm ký tự mà bạn muốn so khớp bằng cách đặt chúng bên trong dấu ngoặc vuông [
Example: “hello, hello, hello”.match[\hello\g]; //returns [“hello”,”hello”,”hello”]
4 và Example: “hello, hello, hello”.match[\hello\g]; //returns [“hello”,”hello”,”hello”]
5]Example: “bag, big, bug, bog”.match[b[aiu]g]; //returns [“bag”, “big”, “bug”, “bog”].
Để khớp một dãy ký tự, giả sử các chữ cái viết thường từ a đến e, bạn sẽ sử dụng
Example: “hello, hello, hello”.match[\hello\g]; //returns [“hello”,”hello”,”hello”]
6Example: “cat, bat, mat”.match[/[a-e]at/]; //returns [“cat”, “bat”, null]
Bạn cũng có thể tạo một tập hợp các ký tự mà bạn không muốn khớp
Các loại bộ ký tự này được gọi là bộ ký tự phủ định. Để tạo một bộ ký tự phủ định, bạn đặt một ký tự dấu mũ [
Example: “hello, hello, hello”.match[\hello\g]; //returns [“hello”,”hello”,”hello”]
7] sau dấu ngoặc mở và trước các ký tự bạn không muốn khớpExample: /[^aeiou]/gi matches all the non-vowel characters.
Lưu ý rằng, bên ngoài bộ ký tự, dấu mũ [_______20_______7] được sử dụng để tìm kiếm các mẫu ở đầu chuỗi
Ngoài ra, bạn có thể tìm kiếm ở cuối chuỗi bằng cách sử dụng ký tự đô la
Example: “hello, hello, hello”.match[\hello\g]; //returns [“hello”,”hello”,”hello”]
9 ở cuối RegExĐể khớp với sự xuất hiện của một ký tự ít nhất một lần, chúng tôi có thể sử dụng
Example: if you want to match “huh”,”hut”,”hum”,”hug”, we can use the RegEx /hu./
0 và để khớp với các ký tự không xảy ra hoặc nhiều lần hơn, chúng tôi sử dụng Example: if you want to match “huh”,”hut”,”hum”,”hug”, we can use the RegEx /hu./
1Example: ‘gooooooooooal!’.match[/go*/]; //returns [“goooooooooo”]
Trận đấu tham lam và lười biếng
Trong các biểu thức chính quy, một phép so khớp tham lam tìm phần dài nhất có thể của một chuỗi khớp với mẫu RegEx và trả về nó dưới dạng một phép so khớp
Phương án thay thế được gọi là đối sánh lười biếng, tìm phần nhỏ nhất có thể của chuỗi thỏa mãn mẫu RegEx