Hãy nói về biểu thức chính quy.
Bây giờ, các biểu thức chính quy không phải là duy nhất đối với Python.
Trên thực tế, bạn thấy chúng trên khắp các ngôn ngữ lập trình.
Nhưng tôi sẽ dạy bạn biểu thức chính quy một cách nhanh chóng, bởi vì chúng
rất hữu ích, đặc biệt là khi bạn đang thực hiện, chẳng hạn như xác thực, chẳng hạn như kiểm tra xem
ai đó đã nhập đúng email hay bạn có yêu cầu mật khẩu hoặc bạn muốn kiểm tra nếu một đoạn chuỗi tồn tại trong một đoạn văn bản.
Vì vậy, đây là điều mà chúng ta sẽ khám phá trong video này.
Biểu thức chính quy.
Họ là ai?
Thật may mắn cho chúng ta, Python đi kèm với một mô-đun biểu thức chính quy.
Hãy nhớ rằng, biểu thức chính quy không dành riêng cho Python.
Bạn có thể sử dụng chúng khá nhiều trong bất kỳ ngôn ngữ nào, nhưng chúng rất hữu ích để tìm kiếm mọi thứ trong một đoạn
văn bản.
Vì vậy, giả sử chúng ta có một chuỗi ở đây và chúng ta có thể nói tìm kiếm chuỗi bên trong cái này.
Tiếp theo.
Chúng ta bắt đầu.
Bây giờ, giả sử tôi muốn tìm kiếm thứ gì đó ở đây.
Trước hết, tôi có thể làm điều gì đó như thế này không?
Tôi có thể nói tìm kiếm?
Trong chuỗi.
Hãy in ở đây.
Và nếu tôi nhấp vào Chạy.
Tôi hiểu đúng.
Và đây là một cách đơn giản để chúng ta tìm kiếm thứ gì đó bên trong một chuỗi.
Vậy tại sao chúng ta thậm chí cần biểu thức chính quy?
Chà, biểu thức chính quy mạnh hơn một chút so với điều này, bởi vì có thể chúng ta muốn
tìm kiếm bao nhiêu lần tìm kiếm xảy ra trong chuỗi.
Hoặc có thể chúng ta có một chuỗi phức tạp.
Hãy để tôi chỉ cho bạn những gì tôi muốn nói.
Cách chúng tôi sử dụng một cái gì đó giống như biểu thức chính quy là sử dụng định dạng này.
Vì vậy, tôi có thể nói r e dot và sau đó ở đây sử dụng tìm kiếm.
Và như bạn có thể thấy ở đây, chúng tôi cung cấp cho nó một mẫu và một chuỗi và một số cờ.
Chúng ta sẽ nói về điều đó một chút sau.
Vì vậy, tất cả những gì chúng tôi cần nói là bạn muốn làm theo mẫu nào?
Vâng, tôi muốn tìm kiếm xem điều này có tồn tại trong chuỗi hay không để tôi có thể nói điều này.
Và sau đó cung cấp cho nó chuỗi thực tế.
Trong trường hợp của chúng ta.
Đây là chuỗi của chúng tôi.
Vì vậy, nếu tôi chạy cái này.
Vâng, hãy in ra những gì xảy ra ở đây.
Vì vậy, chúng ta hãy in.
Nếu tôi bấm Chạy.
Được rồi.
Tôi nhận được cái mà tôi gọi là đối tượng kết hợp.
Một biểu thức chính quy cung cấp cho chúng ta một đầu ra, không chỉ true hoặc false, mà là một đối tượng thực tế cho chúng ta biết
thêm một chút thông tin về điều này.
Và bạn có thể thấy ở đây, một trong những thông tin là khoảng cách.
Vì vậy, vị trí xuất hiện trong chuỗi, nó xuất hiện ở chỉ số 17 và kết thúc ở chỉ số 21.
Vì vậy, điều đó thực sự hữu ích.
Hãy lưu trữ thông tin này và chỉ cần nói ở đây.
Vậy chúng ta có thể làm gì với đối tượng diêm này?
Điều đầu tiên chúng ta có thể làm là kiểm tra xem chúng ta có những gì.
Vì vậy, trước hết, chúng tôi có khoảng thời gian, mà chúng tôi đã thấy.
Và nếu tôi chạy cái này.
Nó cho tôi biết nơi chuỗi xuất hiện dưới dạng một tuple.
Vì vậy, chỉ số từ 17 đến chỉ số của 21.
Tôi cũng có thể làm bắt đầu và bắt đầu.
Cho tôi biết khi nào văn bản bắt đầu và tôi cũng có thể làm nhóm hoặc thực sự thì tôi cũng có thể kết thúc để cho tôi biết nó kết
thúc ở đâu.
Và sau đó tôi cũng có thể thực hiện nhóm và nhóm trả về một phần của chuỗi nơi có trận đấu và giả sử có
một cái khác ở đây nếu tôi nhấp vào chạy, bạn thấy không?
Chà, nó chỉ cung cấp cho tôi đoạn hoặc một phần của chuỗi có khớp.
Giờ đây, nhóm thực sự hữu ích khi chúng tôi đang cố gắng thực hiện nhiều tìm kiếm.
Vì vậy, trong trường hợp của chúng tôi, chúng tôi chỉ thực hiện một tìm kiếm.
Vì vậy, chúng tôi có một mẫu mà chúng tôi đang cố gắng đối sánh, nhưng có những cách để chúng tôi có thể thực hiện
nhiều tìm kiếm trong một dòng.
Nhưng trước khi tôi cho bạn thấy điều đó, điều gì sẽ xảy ra nếu chúng ta làm điều gì đó không tồn tại, chẳng hạn như điều này
với chữ S viết hoa?
Nếu tôi bấm Chạy.
Tôi gặp lỗi vì bây giờ A sẽ không có giá trị nào bởi vì nếu biểu thức chính quy không tìm thấy bất kỳ điều gì, nó sẽ trả về
không có giá trị nào.
Vì vậy, nó sẽ trả về một đối tượng phù hợp hoặc không có đối tượng nào.
Bây giờ, làm thế nào chúng ta có thể làm cho điều này trở nên tiên tiến hơn?
Một điều chúng ta có thể làm là tạo một mẫu mà chúng ta muốn kiểm tra.
Vì vậy, giả sử mẫu ở đây và mẫu này, chúng ta sẽ sử dụng biên dịch dấu chấm biểu thức chính quy.
Và trình biên dịch sẽ cho phép chúng tôi cung cấp, giống như chúng tôi đã làm ở đây, một mẫu.
Vì vậy, hãy nói ở đây, tôi chỉ muốn kiểm tra điều này.
Bây giờ, mẫu này tôi có thể sử dụng thay vì chỉ thực hiện tìm kiếm của chúng tôi.
Tôi chỉ có thể sử dụng mô hình bây giờ.
Để thực hiện tìm kiếm cho tôi.
Vì vậy, một lần nữa, nếu tôi chạy điều này.
Vâng, bây giờ tôi không cần phải vượt qua nó.
Tôi chỉ cần chuyển cho nó chuỗi mà chúng tôi muốn tìm kiếm.
Thấy rằng điều này đang được ghi lại và tôi có thể sử dụng mẫu ở mọi nơi nhiều lần.
Vì vậy, giả sử tôi có thể làm dấu chấm mẫu.
Tất cả các phương pháp mà chúng tôi có, chúng tôi có khá nhiều, thực sự.
Hãy để tôi chỉ cho bạn một số trong những cái hữu ích.
Chúng tôi đã tìm thấy tất cả những gì tìm thấy tất cả.
Phiên bản của trận đấu.
Vì vậy, chúng ta hãy nói ở đây được.
Và nhấp vào Chạy.
Nhìn kìa.
Tôi có cái này.
Và điều này.
Vì vậy, tôi nhận được cả hai trường hợp này bên trong danh sách.
Tôi cũng có thể làm một cái gì đó như trận đấu đầy đủ và trận đấu đầy đủ.
Vâng, hãy đảm bảo rằng mọi thứ khớp hoàn toàn.
Vì vậy, nếu tôi bấm chạy ở đây, hãy in, hãy xem ở đây, bấm chạy.
Tôi không nhận được gì bởi vì tôi không nhận được một trận đấu đầy đủ.
Để một trận đấu trọn vẹn có thể trả lại trận đấu.
Nó phải là chuỗi chính xác mà chúng tôi đang tìm kiếm.
Vì vậy, nếu tôi nhấp vào Chạy.
Của bạn đây.
Tôi nhận được một đối tượng phù hợp ngay bây giờ.
Bây giờ, giả sử tôi có dấu chấm hỏi ở đây thay vì dấu chấm than nếu tôi nhấp vào Chạy.
Sẽ không có gì nếu tôi có dấu chấm than và sau đó có thể là thứ gì đó khác.
Tôi vẫn không nhận được gì.
Chúng tôi cũng có một tùy chọn khác là phù hợp.
Và đối sánh, như bạn có thể thấy, đối sánh không hoặc nhiều ký tự ở đầu chuỗi.
Vì vậy, nếu tôi thực hiện chuỗi ở đây và tôi in dx thực sự tốt, hãy để tôi thay đổi điều này.
Hãy làm ở đây Andre trong chuỗi mà chúng tôi đang thực sự so sánh và nếu tôi nhấp vào chạy.
Tôi vẫn nhận được một đối tượng so khớp so với nếu tôi thấy đối tượng nào sử dụng đối sánh đầy đủ.
Điều đó không mang lại cho tôi bởi vì, tốt, chúng tôi chỉ muốn một trận đấu chính xác ở đây so với một trận đấu khớp với chuỗi và sau đó không
quan tâm đến điều gì xảy ra sau đó.
Vì vậy, điều này là cực kỳ hữu ích.
Nhưng cho đến nay, ý tôi là, chúng ta có một vài phương pháp mà chúng ta có thể sử dụng khá hữu ích,
nhưng điều này có vẻ không mạnh mẽ cho lắm.
Tại sao tất cả các ngôn ngữ đều có biểu thức chính quy?
Tại sao chúng tôi thực sự quan tâm?
Chà, trong video tiếp theo, chúng ta sẽ khám phá ý tưởng về mẫu này và cách chúng ta có thể thực hiện một
số mẫu thực sự nâng cao.
Hẹn gặp lại các bạn trong video tiếp theo.
Tạm biệt.