quay lại. tìm tất cả []. Nó trả về tất cả các phần chuỗi phù hợp dưới dạng danh sách. Nếu không có kết quả phù hợp, nó sẽ chỉ trả về một danh sách trống
>>> re.findall[r'o+', wood] ['o', 'oo', 'o', 'oo', 'oo', 'o', 'oo'] >>> re.findall[r'e+', wood] []Nếu bạn muốn bỏ qua trường hợp trong các trận đấu của mình thì sao? . lại. BỎ QUA TRƯỜNG HỢP
Thay thế tất cả các trận đấu trong một chuỗi
Điều gì sẽ xảy ra nếu bạn muốn thay thế tất cả các phần phù hợp bằng một thứ khác? . phương thức phụ[]. Dưới đây, chúng tôi đang tìm tất cả các chuỗi nguyên âm và thay thế chúng bằng '-'. Phương thức trả về kết quả là một chuỗi mới. Loại bỏ các phần phù hợp cũng có thể đạt được thông qua tái. phụ[]. chỉ cần đặt chuỗi "thay thế" thành chuỗi rỗng ''. Nếu bạn sử dụng [ ] trong biểu thức chính quy, phần phù hợp [được gọi là "nhóm"] được lưu dưới dạng \1, \2, v.v. Điều này rất hữu ích khi bạn muốn thay thế một phần phù hợp bằng biểu mẫu liên quan của nó. Dưới đây, chúng tôi đang thay thế một chuỗi nguyên âm ['a', 'ou', v.v. , khớp bên trong [ ] ] với dấu kép của nó ['aa', 'ouou', được gọi là \1\1]Biên dịch đối tượng biểu thức chính quy
Nếu bạn phải khớp một biểu thức chính quy trên nhiều chuỗi khác nhau, bạn nên xây dựng biểu thức chính quy dưới dạng đối tượng python. Theo cách đó, máy tự động trạng thái hữu hạn cho biểu thức chính quy được biên dịch một lần và được sử dụng lại. Vì việc xây dựng một FSA khá tốn kém về mặt tính toán, điều này làm giảm tải xử lý. Để làm điều này, sử dụng lại. phương thức biên dịch[]. Sau khi được biên dịch, bạn gọi một phương thức re trực tiếp trên đối tượng biểu thức chính quy. Trong ví dụ trên, myre là đối tượng biểu thức chính quy được biên dịch tương ứng với r'\w+ou\w+', và bạn gọi. findall[] trên đó là myre. tìm tất cả []. Khi làm như vậy, bây giờ bạn cần chỉ định ít đối số hơn. chuỗi mục tiêu myre. findall[wood] là thứ duy nhất cần thiếtKiểm tra nếu một trận đấu tồn tại
Đôi khi, chúng tôi chỉ quan tâm đến việc xác nhận xem có sự trùng khớp nào trong chuỗi đã cho hay không. Đối với điều đó, lại. findall[] là quá mức cần thiết, bởi vì nó quét toàn bộ chuỗi để tạo chuỗi con phù hợp *mọi*. Điều này tốt khi bạn đang xử lý một vài chuỗi ngắn như chúng ta đang ở đây, nhưng trong thế giới thực, các chuỗi của bạn có thể dài hơn nhiều và/hoặc bạn sẽ thực hiện so khớp hàng nghìn hoặc thậm chí hàng triệu lần, vì vậy sự khác biệt sẽ tăng lênTrong bối cảnh này, lại. search[] là một sự thay thế tốt. Phương pháp này chỉ tìm thấy trận đấu đầu tiên và sau đó thoát. Nếu tìm thấy kết quả khớp, nó sẽ trả về một "đối tượng khớp". Nhưng nếu không, nó trở lại. không có gì. Bên dưới, r'e+' được khớp thành công trong 'Không màu. ' chuỗi, vì vậy một đối tượng khớp được trả về. Thật thú vị, không có một chữ 'e' nào trong gỗ của chúng tôi, vì vậy tìm kiếm tương tự không trả lại kết quả gì
Biểu thức chính quy [đôi khi được gọi là Biểu thức hợp lý] là một chuỗi các ký tự xác định mẫu tìm kiếm, chủ yếu để sử dụng trong khớp mẫu với chuỗi hoặc khớp chuỗi, i. e. hoạt động giống như "tìm và thay thế". Biểu thức chính quy là một cách tổng quát để khớp các mẫu với các chuỗi ký tự
Biểu thức chính quy của mô-đun [RE] chỉ định một tập hợp các chuỗi [mẫu] phù hợp với nó. Để hiểu phép loại suy RE,
Match at index 14, 21 Full match: June 24 Month: June Day: 241 rất hữu ích, quan trọng và sẽ được sử dụng trong các chức năng của mô-đun
Match at index 14, 21 Full match: June 24 Month: June Day: 242
Có tổng cộng 14 siêu ký tự và sẽ được thảo luận khi chúng đi vào các chức năng
\ Used to drop the special meaning of character following it [discussed below] [] Represent a character class ^ Matches the beginning $ Matches the end . Matches any character except newline ? Matches zero or one occurrence. | Means OR [Matches with any of the characters separated by it. * Any number of occurrences [including 0 occurrences] + One or more occurrences {} Indicate number of occurrences of a preceding RE to match. [] Enclose a group of REs
lại. Tìm kiếm[]
Phương thức
Match at index 14, 21 Full match: June 24 Month: June Day: 243 trả về Không có [nếu mẫu không khớp] hoặc một
Match at index 14, 21 Full match: June 24 Month: June Day: 244 chứa thông tin về phần khớp của chuỗi. Phương thức này dừng sau lần khớp đầu tiên, vì vậy phương thức này phù hợp nhất để kiểm tra biểu thức chính quy hơn là trích xuất dữ liệu
Ví dụ
Python3
Match at index 14, 21 Full match: June 24 Month: June Day: 245
Match at index 14, 21 Full match: June 24 Month: June Day: 246
Match at index 14, 21 Full match: June 24 Month: June Day: 247
Match at index 14, 21 Full match: June 24 Month: June Day: 240
Match at index 14, 21 Full match: June 24 Month: June Day: 241
Match at index 14, 21 Full match: June 24 Month: June Day: 242
Match at index 14, 21 Full match: June 24 Month: June Day: 243
Match at index 14, 21 Full match: June 24 Month: June Day: 244
Match at index 14, 21 Full match: June 24 Month: June Day: 245
Match at index 14, 21 Full match: June 24 Month: June Day: 246
Match at index 14, 21 Full match: June 24 Month: June Day: 240
Match at index 14, 21 Full match: June 24 Month: June Day: 248
Match at index 14, 21 Full match: June 24 Month: June Day: 244
\ Used to drop the special meaning of character following it [discussed below] [] Represent a character class ^ Matches the beginning $ Matches the end . Matches any character except newline ? Matches zero or one occurrence. | Means OR [Matches with any of the characters separated by it. * Any number of occurrences [including 0 occurrences] + One or more occurrences {} Indicate number of occurrences of a preceding RE to match. [] Enclose a group of REs20
\ Used to drop the special meaning of character following it [discussed below] [] Represent a character class ^ Matches the beginning $ Matches the end . Matches any character except newline ? Matches zero or one occurrence. | Means OR [Matches with any of the characters separated by it. * Any number of occurrences [including 0 occurrences] + One or more occurrences {} Indicate number of occurrences of a preceding RE to match. [] Enclose a group of REs21
\ Used to drop the special meaning of character following it [discussed below] [] Represent a character class ^ Matches the beginning $ Matches the end . Matches any character except newline ? Matches zero or one occurrence. | Means OR [Matches with any of the characters separated by it. * Any number of occurrences [including 0 occurrences] + One or more occurrences {} Indicate number of occurrences of a preceding RE to match. [] Enclose a group of REs22
Match at index 14, 21 Full match: June 24 Month: June Day: 240
\ Used to drop the special meaning of character following it [discussed below] [] Represent a character class ^ Matches the beginning $ Matches the end . Matches any character except newline ? Matches zero or one occurrence. | Means OR [Matches with any of the characters separated by it. * Any number of occurrences [including 0 occurrences] + One or more occurrences {} Indicate number of occurrences of a preceding RE to match. [] Enclose a group of REs24
\ Used to drop the special meaning of character following it [discussed below] [] Represent a character class ^ Matches the beginning $ Matches the end . Matches any character except newline ? Matches zero or one occurrence. | Means OR [Matches with any of the characters separated by it. * Any number of occurrences [including 0 occurrences] + One or more occurrences {} Indicate number of occurrences of a preceding RE to match. [] Enclose a group of REs25
Match at index 14, 21 Full match: June 24 Month: June Day: 244
\ Used to drop the special meaning of character following it [discussed below] [] Represent a character class ^ Matches the beginning $ Matches the end . Matches any character except newline ? Matches zero or one occurrence. | Means OR [Matches with any of the characters separated by it. * Any number of occurrences [including 0 occurrences] + One or more occurrences {} Indicate number of occurrences of a preceding RE to match. [] Enclose a group of REs27
\ Used to drop the special meaning of character following it [discussed below] [] Represent a character class ^ Matches the beginning $ Matches the end . Matches any character except newline ? Matches zero or one occurrence. | Means OR [Matches with any of the characters separated by it. * Any number of occurrences [including 0 occurrences] + One or more occurrences {} Indicate number of occurrences of a preceding RE to match. [] Enclose a group of REs28
Match at index 14, 21 Full match: June 24 Month: June Day: 240
Match at index 14, 21 Full match: June 24 Month: June Day: 2410
Match at index 14, 21 Full match: June 24 Month: June Day: 2411
Match at index 14, 21 Full match: June 24 Month: June Day: 2410
Match at index 14, 21 Full match: June 24 Month: June Day: 2413
Match at index 14, 21 Full match: June 24 Month: June Day: 240
Match at index 14, 21 Full match: June 24 Month: June Day: 2410
Match at index 14, 21 Full match: June 24 Month: June Day: 2416
Match at index 14, 21 Full match: June 24 Month: June Day: 2410
Match at index 14, 21 Full match: June 24 Month: June Day: 2418
Match at index 14, 21 Full match: June 24 Month: June Day: 2410
Match at index 14, 21 Full match: June 24 Month: June Day: 2420
Match at index 14, 21 Full match: June 24 Month: June Day: 2421
Match at index 14, 21 Full match: June 24 Month: June Day: 2422
Match at index 14, 21 Full match: June 24 Month: June Day: 2423
Match at index 14, 21 Full match: June 24 Month: June Day: 2424
Match at index 14, 21 Full match: June 24 Month: June Day: 240
Match at index 14, 21 Full match: June 24 Month: June Day: 2410
Match at index 14, 21 Full match: June 24 Month: June Day: 2427
Match at index 14, 21 Full match: June 24 Month: June Day: 2410
Match at index 14, 21 Full match: June 24 Month: June Day: 2429
Match at index 14, 21 Full match: June 24 Month: June Day: 2410
Match at index 14, 21 Full match: June 24 Month: June Day: 2431
Match at index 14, 21 Full match: June 24 Month: June Day: 2410
Match at index 14, 21 Full match: June 24 Month: June Day: 2433
Match at index 14, 21 Full match: June 24 Month: June Day: 2410
Match at index 14, 21 Full match: June 24 Month: June Day: 2435
Match at index 14, 21 Full match: June 24 Month: June Day: 2410
Match at index 14, 21 Full match: June 24 Month: June Day: 2437
Match at index 14, 21 Full match: June 24 Month: June Day: 2410
Match at index 14, 21 Full match: June 24 Month: June Day: 2439
Match at index 14, 21 Full match: June 24 Month: June Day: 240
Match at index 14, 21 Full match: June 24 Month: June Day: 2410
Match at index 14, 21 Full match: June 24 Month: June Day: 2442
Match at index 14, 21 Full match: June 24 Month: June Day: 2410
Match at index 14, 21 Full match: June 24 Month: June Day: 2420
Match at index 14, 21 Full match: June 24 Month: June Day: 2421
Match at index 14, 21 Full match: June 24 Month: June Day: 2446
Match at index 14, 21 Full match: June 24 Month: June Day: 2423
Match at index 14, 21 Full match: June 24 Month: June Day: 2448
Match at index 14, 21 Full match: June 24 Month: June Day: 2449
Match at index 14, 21 Full match: June 24 Month: June Day: 2450
Match at index 14, 21 Full match: June 24 Month: June Day: 240
Match at index 14, 21 Full match: June 24 Month: June Day: 2410
Match at index 14, 21 Full match: June 24 Month: June Day: 2453
Match at index 14, 21 Full match: June 24 Month: June Day: 2410
Match at index 14, 21 Full match: June 24 Month: June Day: 2420
Match at index 14, 21 Full match: June 24 Month: June Day: 2421
Match at index 14, 21 Full match: June 24 Month: June Day: 2457
Match at index 14, 21 Full match: June 24 Month: June Day: 2423
Match at index 14, 21 Full match: June 24 Month: June Day: 2448
Match at index 14, 21 Full match: June 24 Month: June Day: 2460
Match at index 14, 21 Full match: June 24 Month: June Day: 2450
Match at index 14, 21 Full match: June 24 Month: June Day: 240
Match at index 14, 21 Full match: June 24 Month: June Day: 2410
Match at index 14, 21 Full match: June 24 Month: June Day: 2464
Match at index 14, 21 Full match: June 24 Month: June Day: 2410
Match at index 14, 21 Full match: June 24 Month: June Day: 2420
Match at index 14, 21 Full match: June 24 Month: June Day: 2421
Match at index 14, 21 Full match: June 24 Month: June Day: 2468
Match at index 14, 21 Full match: June 24 Month: June Day: 2423
Match at index 14, 21 Full match: June 24 Month: June Day: 2448
Match at index 14, 21 Full match: June 24 Month: June Day: 2471
Match at index 14, 21 Full match: June 24 Month: June Day: 2450
Match at index 14, 21 Full match: June 24 Month: June Day: 240
Match at index 14, 21 Full match: June 24 Month: June Day: 2474
\ Used to drop the special meaning of character following it [discussed below] [] Represent a character class ^ Matches the beginning $ Matches the end . Matches any character except newline ? Matches zero or one occurrence. | Means OR [Matches with any of the characters separated by it. * Any number of occurrences [including 0 occurrences] + One or more occurrences {} Indicate number of occurrences of a preceding RE to match. [] Enclose a group of REs28
Match at index 14, 21 Full match: June 24 Month: June Day: 2410
Match at index 14, 21 Full match: June 24 Month: June Day: 2420
Match at index 14, 21 Full match: June 24 Month: June Day: 2421
Match at index 14, 21 Full match: June 24 Month: June Day: 2479
Match at index 14, 21 Full match: June 24 Month: June Day: 2400
đầu ra
Match at index 14, 21 Full match: June 24 Month: June Day: 24
lại. tìm tất cả []
Trả về tất cả các kết quả khớp mẫu không chồng chéo trong chuỗi, dưới dạng danh sách các chuỗi. Chuỗi được quét từ trái sang phải và kết quả khớp được trả về theo thứ tự tìm thấy