Python regex bất kỳ ký tự nào kể cả dòng mới
Tôi muốn sử dụng but NOT , để tôi có thể có biểu thức chính quy bao gồm cả ký tự đại diện "bất kỳ ký tự nào" và ký tự đại diện 0 bình thường không khớp với dòng mới Show Có cách nào để làm việc này không? Giải pháp tốt nhấtĐể khớp với một dòng mới hoặc "bất kỳ biểu tượng nào" mà không có 1/re.DOTALL , bạn có thể sử dụng bất kỳ cách nào sau đây
Ý tưởng chính là các lớp tốc ký ngược lại bên trong một lớp ký tự khớp với bất kỳ ký hiệu nào có trong chuỗi đầu vào So sánh nó với 3 và các biến thể khác với sự xen kẽ, giải pháp lớp ký tự hiệu quả hơn nhiều vì nó liên quan đến việc quay lui ít hơn nhiều (khi được sử dụng với bộ định lượng 4 hoặc ________0____5). So sánh ví dụ nhỏ. mất 6 45 bước để hoàn thành và mất 7 chỉ 2 bướcGiải pháp liên quanPython – Gọi một chức năng của một mô-đun bằng cách sử dụng tên của nó (một chuỗi)Giả sử mô-đun 8 với phương pháp 9
Bạn có thể rút ngắn dòng 2 và 3 thành
nếu điều đó có ý nghĩa hơn đối với trường hợp sử dụng của bạn Bạn có thể sử dụng theo cách này trên các phương thức liên kết thể hiện lớp, phương thức cấp mô-đun, phương thức lớp. Danh sách cứ kéo dài Javascript – Cách truy cập các nhóm phù hợp trong biểu thức chính quy JavaScriptBạn có thể truy cập các nhóm chụp như thế này
Và nếu có nhiều trận đấu, bạn có thể lặp lại chúng
Biên tập. 2019-09-10Như bạn có thể thấy cách lặp qua nhiều lần so khớp không trực quan lắm. Điều này dẫn đến đề xuất của phương pháp 1. Phương pháp mới này dự kiến sẽ xuất xưởng trong. Nó cung cấp cho chúng tôi một API rõ ràng và giải quyết nhiều vấn đề. Nó đã bắt đầu cập bến các trình duyệt và công cụ JS chính là Chrome 73+ / Node 12+ và Firefox 67+Phương thức trả về một iterator và được sử dụng như sau
Vì nó trả về một trình vòng lặp, chúng ta có thể nói nó lười biếng, điều này rất hữu ích khi xử lý số lượng lớn các nhóm bắt giữ hoặc các chuỗi rất lớn. Nhưng nếu bạn cần, kết quả có thể dễ dàng chuyển đổi thành Mảng bằng cách sử dụng cú pháp trải rộng hoặc phương thức 2
Trong thời gian chờ đợi, trong khi đề xuất này nhận được nhiều hỗ trợ hơn, bạn có thể sử dụng gói shim chính thức Ngoài ra, hoạt động bên trong của phương pháp rất đơn giản. Việc triển khai tương đương bằng cách sử dụng hàm tạo sẽ như sau
Một bản sao của biểu thức chính quy gốc được tạo; Làm cách nào để bao gồm ký tự dòng mới trong regex?"\n" khớp với ký tự xuống dòng.
\W bao gồm những gì trong regex?\w (ký tự từ) khớp với bất kỳ chữ cái, số hoặc dấu gạch dưới nào (giống như [a-zA-Z0-9_] ). Đối tác chữ hoa \W (ký tự không phải từ) khớp với bất kỳ ký tự đơn nào không khớp với \w (giống như [^a-zA-Z0-9_] ). Trong regex, ký tự meta chữ hoa luôn là nghịch đảo của ký tự chữ thường.
\s có khớp với regex dòng mới không?Theo regex101. com\s. Khớp với mọi khoảng trắng, tab hoặc ký tự xuống dòng .
*$ trong regex là gì?. * therefore means một chuỗi tùy ý có độ dài tùy ý . ^ cho biết phần đầu của chuỗi. $ chỉ ra phần cuối của chuỗi. |