Bảng cheat biểu thức chính quy python

Biểu thức chính quy là một công cụ cực kỳ hữu ích và giống như bất kỳ nhà phát triển nào, tôi sử dụng nó rất nhiều khi làm việc với văn bản. Vì tôi luôn quên cú pháp liên quan đến các biểu thức chính quy, nên tôi nghĩ việc tạo một bảng gian lận đơn giản có thể giúp ích cho tôi và có thể cả những người khác nữa. ]

Các phương thức hữu ích nhất của Python và sự khác biệt giữa chúng

Lời nhắc nhở. mô-đun re thực hiện chức năng Biểu thức chính quy trong Python

  • lại. cuộc thi đấu. khớp một mẫu biểu thức chính quy với phần đầu của chuỗi [được trả về. lại. Cuộc thi đấu]

  • lại. toàn trận. khớp một mẫu biểu thức chính quy với toàn bộ chuỗi [được trả về. lại. Cuộc thi đấu]

  • lại. Tìm kiếm. tìm kiếm một chuỗi để tìm sự hiện diện của mẫu biểu thức chính quy [được trả về. lại. Cuộc thi đấu ]

  • lại. phụ. thay thế các lần xuất hiện của mẫu biểu thức chính quy được tìm thấy trong một chuỗi, tìm kiếm mẫu như trong re. tìm kiếm [trả lại. chuỗi]

  • lại. tìm tất cả. tìm kiếm tất cả các lần xuất hiện của mẫu biểu thức chính quy trong chuỗi, tìm kiếm mẫu như trong re. tìm kiếm [trả về. danh sách các chuỗi]

  • lại. tách ra. tách một chuỗi bằng các lần xuất hiện của mẫu biểu thức chính quy [được trả về. danh sách các chuỗi]. ❗️lưu ý các chuỗi trống được trả về ❗️

Siêu ký tự đặc biệt

Lặp lại siêu ký tự

Bảng bên dưới tóm tắt số lượng khớp của các lần lặp lại [tham lam] mà mô-đun re thực hiện cho Biểu thức chính quy trước đó. Tham lam có nghĩa là mô-đun re sẽ khớp với càng nhiều lần lặp lại càng tốt

Các lớp nhân vật hữu ích

Mẹo cực kỳ hữu ích. nhóm và khai thác nhóm

Nhóm không chỉ cho phép bạn khớp các chuỗi văn bản bên trong các chuỗi mà còn trích xuất các chuỗi con theo các nhóm bạn xác định trong một mẫu

Bạn có thể xác định các nhóm trong một mẫu bằng cách sử dụng dấu ngoặc tròn — [] và bạn có thể trích xuất các nhóm từ các chuỗi phù hợp bằng cách gọi phương thức group[] trên re. đối tượng phù hợp

Ví dụ: giả sử chúng tôi muốn khớp một email trong một văn bản, nhưng chúng tôi cũng muốn dễ dàng trích xuất tên người dùng, tên miền và tiện ích mở rộng ra khỏi email. Vì vậy, nếu chúng ta nhận được văn bản sau. “abc@gmail. com”, chúng tôi muốn [1] phát hiện đây là email [theo mẫu] và [2] phát hiện tên người dùng trong email này là “abc”, tên miền là “gmail” và phần mở rộng trong “ . Trước tiên, hãy xác định một mẫu đơn giản sẽ phát hiện email này. Lưu ý, tôi sẽ sử dụng một mẫu đơn giản hóa giả định rằng chỉ có các ký tự chữ và số trong mỗi thành phần email, điều này không đúng trong thực tế nhưng nó sẽ hoạt động cho ví dụ nhóm của chúng tôi

Bây giờ, tôi sẽ thêm các nhóm vào mẫu. Về mặt kỹ thuật, tôi sẽ chỉ thêm dấu ngoặc xung quanh các phần khác nhau của mẫu của mình. tên người dùng, tên miền, phần mở rộng

Bây giờ chúng tôi đã sẵn sàng để phù hợp với mô hình của chúng tôi

Và đây là sự kỳ diệu của các nhóm. Chúng tôi không chỉ có thể lấy văn bản phù hợp mà còn trích xuất các nhóm riêng biệt theo chỉ mục nhóm vì nó đã được xác định trong mẫu, giống như thế này

Đẹp nhỉ?

Nhân tiện, nhóm[0] sẽ trả về chuỗi đại diện cho toàn bộ trận đấu. Trong trường hợp của chúng ta. “tên_của_bạn@gmail. com”

Thưởng

Đôi khi bạn muốn chơi với tất cả các phương pháp này và bạn cần nó nhanh chóng, vì vậy chúng tôi đã sắp xếp chúng trong một tệp Google Colab cực kỳ đơn giản để chơi. Bạn có thể tìm thấy các tập tin trên trang này

Trang này cung cấp bảng cheat regex Python mà bạn có thể nhanh chóng tham khảo khi làm việc với các biểu thức chính quy

Bộ nhân vật

PatternMeaning\wKhớp một ký tự từ a-z, A-Z, 0-9 và dấu gạch dưới [_]\dKhớp một chữ số 0-9\sKhớp khoảng trắng bao gồm \t, \n, và \r và ký tự khoảng trắng.Khớp bất kỳ ký tự nào ngoại trừ dòng mới\WKhớp một ký tự ngoại trừ một từ

mỏ neo

MẫuÝ nghĩa^Khớp ở đầu chuỗi$Khớp ở cuối chuỗi\bKhớp với vị trí được xác định là ranh giới từ\d0Khớp với vị trí không phải là ranh giới từ

định lượng

Bộ định lượng [Tham lam]Bộ định lượng không tham lam [Lười biếng]Ý nghĩa_______1_______1\d2Ghép phần tử đứng trước nó bằng 0 hoặc nhiều lần. \d3_______1_______4Nối phần tử trước nó một hoặc nhiều lần. \d5_______1_______6Ghép phần tử đứng trước nó bằng 0 hoặc một lần. \d7\d8Ghép chính xác phần tử đứng trước nó \d9 lần. \s0\s1Ghép phần tử đứng trước nó ít nhất \d9 lần. \s3_______2_______4Nối phần tử đứng trước nó từ \d9 đến \s6 lần

Bộ & Phạm vi

Ý nghĩa mẫu\s7So khớp với bất kỳ phần tử nào trong số ba phần tử X, Y và Z\s8So khớp một phạm vi từ X đến Y\s9So khớp với bất kỳ phần tử đơn nào ngoại trừ X, Y và Z.0So khớp với bất kỳ phần tử đơn lẻ nào\s0So khớp phần tử trước nó ít nhất \d9 lần. \s3Nối phần tử đứng trước nó từ \d9 đến \s6 lần

Chụp nhóm

Mẫu Ý nghĩa.6Chụp X trong nhóm.7Chụp X và gán tên cho nó.8Tham khảo nhóm chụp #N.9Tham khảo nhóm chụp #N [cú pháp thay thế]

luân phiên

Mẫu Ý nghĩa_______4_______0Khớp X hoặc Y

Nhìn xung quanh

Mô hìnhÝ nghĩa\W1Trộn X nhưng chỉ khi nó được theo sau bởi Y\W2Trộn X nhưng chỉ khi nó KHÔNG được theo sau bởi Y\W3Trộn X nếu có Y trước nó_______4_______4Trộn X nếu không có Y trước nó

hàm regex

Bảng sau đây hiển thị hàm regex từ mô-đun re

Chức năng Mô tả\W5Trả về danh sách các kết quả phù hợp hoặc Không có\W6Trả về một trình vòng lặp mang lại tất cả các kết quả khớp không trùng lặp\W7Trả về kết quả khớp đầu tiên\W8Trả về một đối tượng Khớp nếu toàn bộ chuỗi khớp với một mẫu\W9Trả lại kết quả khớp ở đầu chuỗi hoặc Không có\D0Trả về một chuỗi khớp được thay thế bằng một chuỗi thay thế\D1Chia một chuỗi ở đầu

Cờ Regex

FlagAliasInline FlagÝ nghĩa_______5_______2\D3\D4\D2 chỉ liên quan đến các mẫu byte. Tính năng này làm cho \w\W,\b\d0, \d, \D và \S chỉ khớp ASCII thay vì khớp Unicode đầy đủ. \S2N/AN/AThe \S2 hiển thị thông tin gỡ lỗi của mẫu đã biên dịch. \S4\S5\S6perform case-insensitive matching. Điều đó có nghĩa là \S7 cũng sẽ khớp với các chữ cái viết thường. \S8\S9^0\S8 chỉ liên quan đến mẫu byte. Nó làm cho \w\W\b\d0 và khớp phân biệt chữ hoa chữ thường phụ thuộc vào ngôn ngữ hiện tại. _\S8 không tương thích với cờ \D2. ^8^9\D4The $1 làm cho _______7_______ khớp ở đầu một chuỗi và ở đầu mỗi dòng và $ khớp ở cuối một chuỗi và ở cuối mỗi dòng. $4$5$6Theo mặc định, dấu chấm [.] khớp với bất kỳ ký tự nào ngoại trừ một dòng mới. _______8_______4 làm cho dấu chấm [.] khớp với tất cả các ký tự bao gồm cả một dòng mới. \b0_______9_______1\b2Cờ \b0 cho phép bạn sắp xếp một mẫu thành các phần hợp lý một cách trực quan và thêm nhận xét

Bạn có thấy hướng dẫn này hữu ích không?

Không

Chủ Đề