2011-09-13 19 views
6

Giả sử tôi muốn để phù hợp với một chữ cái thường theo sau một ký tự hoa, tôi có thể làm điều gì đó nhưtrường hợp khớp chuỗi unicode nhạy cảm với biểu thức thông thường bằng Python

re.compile(r"[a-z][A-Z]") 

Bây giờ tôi muốn làm điều tương tự cho các chuỗi unicode , tức là khớp với thứ gì đó như 'aÅ' hoặc 'yÜ'.

Cố gắng

re.compile(r"[a-z][A-Z]", re.UNICODE) 

nhưng điều đó không làm việc.

Bất kỳ manh mối nào?

Trả lời

6

Điều này khó thực hiện với Python regex vì triển khai hiện tại không hỗ trợ các phím tắt thuộc tính Unicode như \p{Lu}\p{Ll}.

[A-Za-z] tất nhiên sẽ chỉ khớp với các chữ cái ASCII, bất kể tùy chọn Unicode có được đặt hay không.

Vì vậy, cho đến khi các mô-đun re được cập nhật (hoặc bạn cài đặt regex package hiện đang phát triển), bạn có cần phải làm điều đó theo chương trình (lặp qua chuỗi và làm char.islower()/char.isupper() trên ký tự), hoặc chỉ định tất cả các mã unicode điểm thủ công mà có lẽ không đáng để nỗ lực ...

+0

Điều này hữu ích. Tôi chỉ phải đối phó với các chữ cái Đan Mạch. Vì vậy, việc thêm 'æøå' và 'ÆØÅ' có thể là OK. – repoman

Các vấn đề liên quan