Để bắt đầu, tôi không đề nghị sử dụng "*" trong regexes. Vâng, tôi biết, nó là dấu phân cách đa nhân vật được sử dụng nhiều nhất, nhưng nó vẫn là một ý tưởng tồi. Điều này là do, trong khi nó phù hợp với bất kỳ số lượng lặp lại nào cho nhân vật đó, "bất kỳ" nào "bao gồm 0, thường là thứ bạn muốn ném lỗi cú pháp cho, không chấp nhận. Thay vào đó, tôi đề nghị sử dụng dấu Show
2 để chỉ định cụ thể độ dài mong muốn. Tuy nhiên, nếu bạn thực sự cần sự lặp lại không xanh, tôi khuyên bạn nên tham khảo ý kiến 3 toàn năng. Điều này, khi được đặt sau khi kết thúc bất kỳ trình xác định lặp lại Regex nào, sẽ buộc một phần của Regex phải tìm thấy số lượng văn bản ít nhất có thể. Điều đó đang được nói, tôi sẽ rất cẩn thận với 3 vì nó, giống như tuốc nơ vít âm thanh ở Tiến sĩ Who, có xu hướng làm như thế nào, tôi nên đặt nó như thế nào, "hơi" những điều không mong muốn nếu không được hiệu chỉnh cẩn thận. Ví dụ: để sử dụng đầu vào ví dụ của bạn, nó sẽ xác định 5 (lưu ý việc thiếu RPAREN thứ hai) là một trận đấu. Tóm tắt: Trong hướng dẫn này, bạn sẽ tìm hiểu về các bộ định lượng không màu xanh lá cây (hoặc lười biếng) phù hợp với các yếu tố trước đó của chúng càng ít càng tốt.: in this tutorial, you’ll learn about the regex non-greedy (or lazy) quantifiers that match their preceding elements as few times as possible.: in this tutorial, you’ll learn about the regex non-greedy (or lazy) quantifiers that match their preceding elements as few times as possible. Giới thiệu về các bộ định lượng không màu xanh lá cây (hoặc lười biếng) RegexĐịnh lượng cho phép bạn phù hợp với các yếu tố trước của chúng một số lần. Định lượng hoạt động ở một trong hai chế độ: tham lam và không tham lam (lười biếng). Khi các bộ định lượng hoạt động trong chế độ tham lam, chúng được gọi là định lượng tham lam. Tương tự, khi các bộ định lượng hoạt động ở chế độ không màu xanh lá cây, chúng được gọi là các bộ định lượng không màu xanh lá cây hoặc các bộ định lượng lười biếng. Theo mặc định, các bộ định lượng hoạt động trong chế độ tham lam. Điều đó có nghĩa là các bộ định lượng tham lam sẽ phù hợp với các yếu tố trước của chúng càng nhiều càng tốt để trở lại trận đấu lớn nhất có thể. Mặt khác, các bộ định lượng không màu xanh lá cây sẽ phù hợp càng ít càng tốt để trả về trận đấu nhỏ nhất có thể. Định lượng không xanh là trái ngược với những người tham lam. Để biến các bộ định lượng tham lam thành các bộ định lượng không tham lam, bạn thêm một dấu hỏi thêm ( 3) vào các bộ định lượng. Bảng sau đây cho thấy các định lượng không tham lam và các định lượng không tham gia tương ứng của chúng:
Chương trình sau đây sử dụng bộ định lượng không màu xanh lá cây ( >>> import re >>> re.findall('a?', 'aaaa') ['a', 'a', 'a', 'a', ''] >>> re.findall('a*', 'aaaa') ['aaaa', ''] >>> re.findall('a+', 'aaaa') ['aaaa'] >>> re.findall('a{3}', 'aaaa') ['aaa'] >>> re.findall('a{1,2}', 'aaaa') ['aa', 'aa']0) để khớp với văn bản trong các trích dẫn ( >>> import re >>> re.findall('a?', 'aaaa') ['a', 'a', 'a', 'a', ''] >>> re.findall('a*', 'aaaa') ['aaaa', ''] >>> re.findall('a+', 'aaaa') ['aaaa'] >>> re.findall('a{3}', 'aaaa') ['aaa'] >>> re.findall('a{1,2}', 'aaaa') ['aa', 'aa']8) của một phần tử nút: 4 Output:
Bản tóm tắt
Bạn có thấy hướng dẫn này hữu ích không? Sẵn sàng để kiếm đai đen của siêu cường Regex của bạn? Hướng dẫn này cho bạn thấy sự khác biệt tinh tế nhưng quan trọng giữa các bộ định lượng regex tham lam và không tham lam. Bạn cũng có thể xem video giải thích mà tôi đã tạo cho bài viết này: Python Regex tham lam so với định lượng không tham lam Nếu bạn là một người bận rộn, thì đây là phiên bản ngắn của hướng dẫn này: Định nghĩa định lượng lượng tử tham lam: Một bộ định lượng tham lam như 63, 7, 1 và 92 phù hợp với càng nhiều ký tự càng tốt (trận đấu dài nhất). Ví dụ: Regex 93 sẽ khớp với càng nhiều 94 càng tốt trong chuỗi của bạn ____ 45, mặc dù các chuỗi con 94, 97, 98 đều khớp với Regex 93.3, 7, 1 và 92 phù hợp với càng nhiều ký tự càng tốt (trận đấu dài nhất). Ví dụ: Regex 93 sẽ khớp với càng nhiều 94 càng tốt trong chuỗi của bạn ____ 45, mặc dù các chuỗi con 94, 97, 98 đều khớp với Regex 93. Định nghĩa định lượng không màu xanh lá cây: Một bộ định lượng không màu xanh lá cây như 62, 8, >>> import re >>> re.findall('a?', 'aaaa') ['a', 'a', 'a', 'a', ''] >>> re.findall('a*', 'aaaa') ['aaaa', ''] >>> re.findall('a+', 'aaaa') ['aaaa'] >>> re.findall('a{3}', 'aaaa') ['aaa'] >>> re.findall('a{1,2}', 'aaaa') ['aa', 'aa']0 và 9 3 phù hợp với ít ký tự nhất có thể (trận đấu ngắn nhất có thể). Ví dụ: Regex 94 sẽ khớp với ít 94 nhất có thể trong chuỗi 95 của bạn. Do đó, nó phù hợp với ký tự đầu tiên 94 và được thực hiện với nó.2, 8, >>> import re >>> re.findall('a?', 'aaaa') ['a', 'a', 'a', 'a', ''] >>> re.findall('a*', 'aaaa') ['aaaa', ''] >>> re.findall('a+', 'aaaa') ['aaaa'] >>> re.findall('a{3}', 'aaaa') ['aaa'] >>> re.findall('a{1,2}', 'aaaa') ['aa', 'aa']0 và 9 3 phù hợp với ít ký tự nhất có thể (trận đấu ngắn nhất có thể). Ví dụ: Regex 94 sẽ khớp với ít 94 nhất có thể trong chuỗi 95 của bạn. Do đó, nó phù hợp với ký tự đầu tiên 94 và được thực hiện với nó. Các kỹ sư của Google, Facebook và Amazon là những bậc thầy biểu hiện thường xuyên. Nếu bạn cũng muốn trở thành một, hãy xem cuốn sách mới của chúng tôi: Cách thông minh nhất để học Python Regex (Amazon Kindle/Print, mở trong Tab mới).The Smartest Way to Learn Python Regex (Amazon Kindle/Print, opens in new tab).The Smartest Way to Learn Python Regex (Amazon Kindle/Print, opens in new tab). Nhưng điều đầu tiên trước tiên: Dù sao thì định lượng của người Viking là gì? Câu hỏi tuyệt vời - Tôi rất vui vì bạn đã hỏi! Vì vậy, hãy để Lặn đi vào Python, ba bộ định lượng chính của Regex.what are “quantifiers” anyway? Great question – I’m glad you asked! So let’s dive into Python’s three main regex quantifiers.what are “quantifiers” anyway? Great question – I’m glad you asked! So let’s dive into Python’s three main regex quantifiers.
Từ Quantifier có nguồn gốc từ tiếng Latin: Ý nghĩa của nó là lượng tử = bao nhiêu / tần suất.quantus = how much / how often.quantus = how much / how often. Đây chính xác là một bộ định lượng biểu thức thông thường có nghĩa là: bạn nói với động cơ regex, tần suất bạn muốn khớp với một mẫu nhất định. Bài viết liên quan: Siêu cường Python Regex - Hướng dẫn cuối cùng Python Regex Superpower – The Ultimate Guide Python Regex Superpower – The Ultimate Guide Nếu bạn nghĩ rằng bạn không định nghĩa bất kỳ bộ định lượng nào, bạn sẽ làm điều đó một cách ngầm: không có định lượng định lượng nào để phù hợp với biểu thức chính xác chính xác một lần. Vậy các bộ định lượng regex trong Python là gì?
Lưu ý rằng trong hướng dẫn này, tôi cho rằng bạn có ít nhất một ý tưởng từ xa về những biểu thức thường xuyên thực sự là gì. Nếu bạn thiên đường, không có vấn đề gì, hãy xem hướng dẫn Regex chi tiết của tôi trên blog này. Bạn có muốn thành thạo siêu cường Regex không? Kiểm tra cuốn sách mới của tôi Cách thông minh nhất để học các biểu thức thường xuyên trong Python với cách tiếp cận 3 bước sáng tạo để học tập tích cực: (1) Nghiên cứu một chương sách, (2) Giải câu đố mã và (3) xem video chương giáo dục . Check out my new book The Smartest Way to Learn Regular Expressions in Python with the innovative 3-step approach for active learning: (1) study a book chapter, (2) solve a code puzzle, and (3) watch an educational chapter video. Check out my new book The Smartest Way to Learn Regular Expressions in Python with the innovative 3-step approach for active learning: (1) study a book chapter, (2) solve a code puzzle, and (3) watch an educational chapter video. Bạn thấy trong bảng rằng các bộ định lượng 3, 7, 1, 71 và 92 Xác định tần suất bạn lặp lại sự phù hợp của Regex 99. Hãy để một số ví dụ về một số ví dụ cho mỗi bộ định lượng: >>> import re >>> re.findall('a?', 'aaaa') ['a', 'a', 'a', 'a', ''] >>> re.findall('a*', 'aaaa') ['aaaa', ''] >>> re.findall('a+', 'aaaa') ['aaaa'] >>> re.findall('a{3}', 'aaaa') ['aaa'] >>> re.findall('a{1,2}', 'aaaa') ['aa', 'aa'] Trong mỗi dòng, bạn thử một bộ định lượng khác nhau trên cùng một văn bản 95. Và, thật thú vị, mỗi dòng dẫn đến một đầu ra khác nhau:
Bạn đã học được các định lượng cơ bản của các biểu thức thông thường Python. Bây giờ, nó đã đến lúc khám phá ý nghĩa của thuật ngữ tham lam. Chúng ta sẽ? Trận đấu tham lam Python RegexTrận đấu không có màu xanh lá cây Python Regex Ví dụ: Regex 93 sẽ khớp càng nhiều 94 càng tốt trong chuỗi 95 của bạn. Mặc dù các nền tảng 94, 97, 98 đều khớp với Regex 93, nhưng nó không đủ cho động cơ Regex. Nó luôn luôn đói và cố gắng phù hợp hơn nữa. Nói cách khác, các bộ định lượng tham lam cung cấp cho bạn trận đấu dài nhất từ một vị trí nhất định trong chuỗi.longest match from a given position in the string.longest match from a given position in the string. Hóa ra, tất cả các bộ định lượng mặc định 3, 7, 1, 71 và 92 Bạn đã học được ở trên là tham lam: chúng tiêu thụ tiêu thụ hoặc khớp càng nhiều ký tự càng tốt để mẫu Regex vẫn được thỏa mãn. Dưới đây là các ví dụ trên một lần nữa tất cả đều cho thấy động cơ Regex tham lam như thế nào: >>> import re >>> re.findall('a?', 'aaaa') ['a', 'a', 'a', 'a', ''] >>> re.findall('a*', 'aaaa') ['aaaa', ''] >>> re.findall('a+', 'aaaa') ['aaaa'] >>> re.findall('a{3}', 'aaaa') ['aaa'] >>> re.findall('a{1,2}', 'aaaa') ['aa', 'aa'] Trong mọi trường hợp, một trận đấu ngắn hơn cũng sẽ hợp lệ. Nhưng vì động cơ Regex là tham lam theo mặc định, chúng không đủ cho động cơ Regex. Được rồi, vậy làm thế nào chúng ta có thể làm một trận đấu không màu xanh lá cây? Trận đấu không có màu xanh lá cây Python RegexMột trận đấu không màu xanh lá cây có nghĩa là động cơ Regex khớp với càng ít ký tự càng tốt để nó vẫn có thể khớp với mẫu trong chuỗi đã cho. Ví dụ: Regex 94 sẽ khớp với ít 94 nhất có thể trong chuỗi 95 của bạn. Do đó, nó phù hợp với ký tự đầu tiên 94 và được thực hiện với nó. Sau đó, nó chuyển sang ký tự thứ hai (cũng là một trận đấu), v.v. Nói cách khác, các bộ định lượng không màu xanh lá cây cung cấp cho bạn trận đấu ngắn nhất có thể từ một vị trí nhất định trong chuỗi.shortest possible match from a given position in the string.shortest possible match from a given position in the string. Bạn có thể thực hiện các định lượng định lượng mặc định 3, 7, 1, 71 và 92 không có màu gu hành bằng cách nối thêm ký hiệu dấu hỏi 06 cho chúng: >>> import re >>> re.findall('a?', 'aaaa') ['a', 'a', 'a', 'a', ''] >>> re.findall('a*', 'aaaa') ['aaaa', ''] >>> re.findall('a+', 'aaaa') ['aaaa'] >>> re.findall('a{3}', 'aaaa') ['aaa'] >>> re.findall('a{1,2}', 'aaaa') ['aa', 'aa']2, 8, >>> import re >>> re.findall('a?', 'aaaa') ['a', 'a', 'a', 'a', ''] >>> re.findall('a*', 'aaaa') ['aaaa', ''] >>> re.findall('a+', 'aaaa') ['aaaa'] >>> re.findall('a{3}', 'aaaa') ['aaa'] >>> re.findall('a{1,2}', 'aaaa') ['aa', 'aa']0 và 93. Họ tiêu thụ tiêu thụ của người Hồi giáo hoặc phù hợp với ít ký tự nhất có thể để mẫu Regex vẫn được thỏa mãn. Dưới đây là một số ví dụ cho thấy cách kết hợp không có màu xanh lá cây hoạt động: Nhà điều hành đánh dấu câu hỏi không xanh (??)Hãy bắt đầu với dấu hỏi (toán tử không hoặc một): 9 Trong trường hợp đầu tiên, bạn sử dụng regex không hoặc một regex 75. Nó tham lam vì vậy nó phù hợp với một nhân vật 94 nếu có thể. Trong trường hợp thứ hai, bạn sử dụng phiên bản Zero-On One không có màu xanh lá cây 13. Nó phù hợp với 0 94S nếu có thể. Lưu ý rằng nó di chuyển từ trái sang phải để nó phù hợp với chuỗi trống và tiêu thụ nó. Chỉ sau đó, nó không thể khớp với chuỗi trống nữa để nó buộc phải khớp với ký tự 94 đầu tiên. Nhưng sau đó, nó lại miễn phí để phù hợp với chuỗi trống một lần nữa. Mô hình đầu tiên phù hợp với chuỗi trống và chỉ sau đó khớp với 94 nếu nó hoàn toàn cần thiết. Đó là lý do tại sao mô hình kỳ lạ này xảy ra. Nhà điều hành dấu hoa thị không xanh (*?)Hãy bắt đầu với Asterisk (toán tử không hoặc không nhiều): 9 Đầu tiên, bạn sử dụng Asterisk Regex 77. Nó tham lam vì vậy nó phù hợp với nhiều ký tự 94 nhất có thể. Thứ hai, bạn sử dụng phiên bản không hoặc một phiên bản không có màu xanh lá cây 19. Một lần nữa, nó phù hợp với số không 94S nếu có thể. Chỉ khi nó đã khớp với các ký tự bằng không ở một vị trí nhất định, nó lại khớp với một ký tự ở vị trí đó, tiêu thụ nó và nó tiếp tục. Nhà điều hành không có Greedy Plus (+?)Hãy để bắt đầu với Plus (toán tử một hoặc nhiều hơn): 6 Đầu tiên, bạn sử dụng REGEX 93 một hoặc nhiều hơn. Nó tham lam vì vậy nó phù hợp với nhiều ký tự 94 nhất có thể (nhưng ít nhất một). Thứ hai, bạn sử dụng phiên bản một hoặc không tốt hơn 94. Trong trường hợp này, động cơ Regex chỉ khớp với một ký tự 94, tiêu thụ nó và tiếp tục với trận đấu tiếp theo. Hãy để tóm tắt những gì bạn đã học được cho đến nay: Trận đấu tham lam vs không tham lam-Điều gì khác biệt?Đưa ra một mẫu có bộ định lượng (ví dụ: toán tử dấu hoa thị) cho phép động cơ Regex khớp với mẫu nhiều lần. Một chuỗi đã cho có thể khớp với regex theo nhiều cách. Ví dụ: cả hai chuỗi con 94 và 98 đều phù hợp hợp lệ khi khớp mẫu 77 trong chuỗi 95. Vì vậy, sự khác biệt giữa sự tham lam và trận đấu không tham lam là như sau: Trận đấu tham lam sẽ cố gắng phù hợp với càng nhiều lần lặp lại của mẫu định lượng càng tốt. Trận đấu không màu xanh lá cây sẽ cố gắng khớp với ít sự lặp lại của mẫu được định lượng nhất có thể. Ví dụHãy cùng xem xét một loạt các ví dụ giúp bạn hiểu được sự khác biệt giữa các trận đấu tham lam và không tham gia trong Python: 7 Hãy chắc chắn rằng bạn hoàn toàn hiểu những ví dụ đó trước khi bạn tiếp tục. Nếu bạn không có, xin vui lòng đọc lại các đoạn trước. Cái nào nhanh hơn: tham lam vs không tham lam?Xem xét rằng các bộ định lượng tham lam phù hợp với một số lượng tối thiểu và không tham lam một số lượng tối thiểu, có bất kỳ sự khác biệt hiệu suất nào không? Câu hỏi tuyệt vời! Thật vậy, một số điểm chuẩn cho thấy rằng có một sự khác biệt hiệu suất đáng kể: bộ định lượng tham lam chậm hơn 100% trong các thí nghiệm thực tế trên dữ liệu điểm chuẩn. Vì vậy, nếu bạn tối ưu hóa tốc độ và bạn không quan tâm đến các trận đấu tham lam hoặc không tham lam, và bạn không biết bất cứ điều gì khác. Tuy nhiên, sự thật không đơn giản. Ví dụ, hãy xem xét các thử nghiệm cơ bản sau đây làm sai lệch giả thuyết trước đây rằng phiên bản không màu xanh lá cây nhanh hơn: 8 Tôi đã sử dụng thời gian kiểm tra tốc độ cho phép ném vào một số câu lệnh Python đơn giản và kiểm tra thời gian chúng chạy. Mỗi mặc định, câu lệnh được thông qua được thực thi 1.000.000 lần. Bạn có thể thấy sự khác biệt về hiệu suất đáng chú ý hơn 300%! Phiên bản không Greedy chậm hơn ba lần so với phiên bản tham lam. Tại sao vậy? Lý do là phương thức re.findall () trả về một danh sách các chuỗi con phù hợp. Ở đây, đầu ra, cả hai câu lệnh sẽ tạo ra: 12 Bạn có thể thấy rằng phiên bản tham lam tìm thấy một trận đấu và được thực hiện với nó. Phiên bản không màu xanh lá cây tìm thấy 25 trận đấu dẫn đến việc xử lý và chi phí bộ nhớ nhiều hơn nhiều. Vậy điều gì xảy ra nếu bạn sử dụng phương thức RE.Search () chỉ trả về trận đấu đầu tiên thay vì phương thức re.findall () trả về tất cả các trận đấu? 0 Như mong đợi, điều này thay đổi mọi thứ một lần nữa. Cả hai tìm kiếm regex đều mang lại một kết quả duy nhất, nhưng trận đấu không màu xanh lá cây ngắn hơn nhiều: nó khớp với chuỗi trống 29 thay vì toàn bộ chuỗi 30. Tất nhiên, đây là một chút nhanh hơn một chút. Tuy nhiên, sự khác biệt là không đáng kể trong ví dụ tối thiểu này. Có nhiều hơn nữa: Trận đấu tham lam, ngoan ngoãn, lười biếng, hữu ích, sở hữuTrong bài viết này, tôi đã phân loại thế giới Regex thành các định lượng tham lam và không tham lam. Nhưng bạn có thể phân biệt các lớp học không có màu xanh lá cây của người Viking hơn nữa! Tiếp theo, tôi sẽ cung cấp cho bạn một cái nhìn tổng quan ngắn dựa trên bài viết tuyệt vời này về các điều khoản quan trọng nhất về vấn đề này:
Nếu bạn muốn tìm hiểu thêm về những điều đó, tôi sẽ khuyên bạn nên đọc hướng dẫn trực tuyến tuyệt vời này. Đi đâu từ đâyTóm tắt: Bạn đã học được rằng các bộ định lượng tham lam 63, 7 và 1 phù hợp với càng nhiều lần lặp lại của mẫu được định lượng càng tốt. Các định lượng không màu xanh lá cây >>> import re >>> re.findall('a?', 'aaaa') ['a', 'a', 'a', 'a', ''] >>> re.findall('a*', 'aaaa') ['aaaa', ''] >>> re.findall('a+', 'aaaa') ['aaaa'] >>> re.findall('a{3}', 'aaaa') ['aaa'] >>> re.findall('a{1,2}', 'aaaa') ['aa', 'aa']2, 8 và >>> import re >>> re.findall('a?', 'aaaa') ['a', 'a', 'a', 'a', ''] >>> re.findall('a*', 'aaaa') ['aaaa', ''] >>> re.findall('a+', 'aaaa') ['aaaa'] >>> re.findall('a{3}', 'aaaa') ['aaa'] >>> re.findall('a{1,2}', 'aaaa') ['aa', 'aa']0 phù hợp với ít sự lặp lại của mẫu định lượng nhất có thể.You’ve learned that the greedy quantifiers 3, 7 và 1 phù hợp với càng nhiều lần lặp lại của mẫu được định lượng càng tốt. Các định lượng không màu xanh lá cây >>> import re >>> re.findall('a?', 'aaaa') ['a', 'a', 'a', 'a', ''] >>> re.findall('a*', 'aaaa') ['aaaa', ''] >>> re.findall('a+', 'aaaa') ['aaaa'] >>> re.findall('a{3}', 'aaaa') ['aaa'] >>> re.findall('a{1,2}', 'aaaa') ['aa', 'aa']2, 8 và >>> import re >>> re.findall('a?', 'aaaa') ['a', 'a', 'a', 'a', ''] >>> re.findall('a*', 'aaaa') ['aaaa', ''] >>> re.findall('a+', 'aaaa') ['aaaa'] >>> re.findall('a{3}', 'aaaa') ['aaa'] >>> re.findall('a{1,2}', 'aaaa') ['aa', 'aa']0 phù hợp với ít sự lặp lại của mẫu định lượng nhất có thể.You’ve learned that the greedy quantifiers 3, 7, and 1 match as many repetitions of the quantified pattern as possible. The non-greedy quantifiers >>> import re >>> re.findall('a?', 'aaaa') ['a', 'a', 'a', 'a', ''] >>> re.findall('a*', 'aaaa') ['aaaa', ''] >>> re.findall('a+', 'aaaa') ['aaaa'] >>> re.findall('a{3}', 'aaaa') ['aaa'] >>> re.findall('a{1,2}', 'aaaa') ['aa', 'aa']2, 8, and >>> import re >>> re.findall('a?', 'aaaa') ['a', 'a', 'a', 'a', ''] >>> re.findall('a*', 'aaaa') ['aaaa', ''] >>> re.findall('a+', 'aaaa') ['aaaa'] >>> re.findall('a{3}', 'aaaa') ['aaa'] >>> re.findall('a{1,2}', 'aaaa') ['aa', 'aa']0 match as few repetitions of the quantified pattern as possible. Nếu bạn muốn làm chủ Python và các cách diễn đạt thông thường, hãy tham gia Học viện Email miễn phí của tôi, đó là niềm vui! Regex hài hướcĐợi đã, quên thoát một không gian. Wheeeeee [Taptaptap] Eeeeee. (nguồn)Khóa học Python RegexCác kỹ sư của Google là những bậc thầy biểu hiện thường xuyên. Công cụ tìm kiếm của Google là một công cụ xử lý văn bản khổng lồ, trích xuất giá trị từ hàng nghìn tỷ trang web. & NBSP; & NBSP;The Google search engine is a massive text-processing engine that extracts value from trillions of webpages. The Google search engine is a massive text-processing engine that extracts value from trillions of webpages. Các kỹ sư Facebook là những bậc thầy biểu hiện thường xuyên. Các mạng xã hội như Facebook, WhatsApp và Instagram kết nối con người qua tin nhắn văn bản. & NBSP; Social networks like Facebook, WhatsApp, and Instagram connect humans via text messages. Social networks like Facebook, WhatsApp, and Instagram connect humans via text messages. Các kỹ sư Amazon là những bậc thầy biểu hiện thường xuyên. Gã khổng lồ thương mại sản phẩm tàu điện tử dựa trên mô tả sản phẩm văn bản.Ecommerce giants ship products based on textual product descriptions. Regular expressions rule the game when text processing meets computer science. Ecommerce giants ship products based on textual product descriptions. Regular expressions rule the game when text processing meets computer science. Nếu bạn cũng muốn trở thành một bậc thầy biểu hiện thông thường, hãy xem khóa học Python Regex toàn diện nhất trên hành tinh: Trong khi làm việc như một nhà nghiên cứu trong các hệ thống phân tán, Tiến sĩ Christian Mayer đã tìm thấy tình yêu của mình đối với việc dạy các sinh viên khoa học máy tính. Để giúp học sinh đạt được thành công cao hơn của Python, ông đã thành lập trang web giáo dục chương trình Finxter.com. Ông là tác giả của cuốn sách lập trình phổ biến Python Oneer (Nostarch 2020), đồng tác giả của loạt sách Break Break Python, những cuốn sách tự xuất bản, người đam mê khoa học máy tính, freelancer và chủ sở hữu của một trong 10 blog Python lớn nhất trên toàn thế giới. Niềm đam mê của ông là viết, đọc và mã hóa. Nhưng niềm đam mê lớn nhất của anh là phục vụ các lập trình viên đầy tham vọng thông qua Finxter và giúp họ tăng cường các kỹ năng của họ. Bạn có thể tham gia học viện email miễn phí của anh ấy ở đây. |