Computer >> Máy Tính >  >> Lập trình >> Python

Phép trừ lớp ký tự lồng nhau hoạt động như thế nào trong Python?

Phép trừ lớp ký tự lồng nhau

Vì chúng ta có thể sử dụng cú pháp lớp ký tự đầy đủ trong lớp ký tự bị trừ, chúng ta có thể trừ một lớp khỏi lớp bị trừ. [0-9- [0-7- [0-3]]] đầu tiên trừ 0-3 từ 0-7, cho ra [0-9- [4-7]] hoặc [0-38-9], khớp với bất kỳ ký tự nào trong chuỗi 012389.

Phép trừ lớp luôn là phần tử cuối cùng trong lớp ký tự. [0-9- [4-7] a-d] không phải là một biểu thức chính quy hợp lệ. Nó phải được viết lại thành [0-9a-d- [4-7]]. Phép trừ thực hiện trên cả lớp.

Trong khi chúng ta có thể sử dụng phép trừ lớp ký tự lồng nhau, chúng ta không thể trừ hai lớp một cách tuần tự. Để trừ các ký tự ASCII và các ký tự Ả Rập khỏi một lớp có tất cả các chữ cái Unicode, hãy kết hợp các ký tự ASCII và các ký tự Ả Rập thành một lớp và trừ đi, như trong [\ p {L} - [\ p {IsBasicLatin} \ p {IsArabic}] ].