Tôi cần các giải pháp cho this question, ngoại trừ Python! Tôi đã thử cài đặt thư viện regex cho Python, as apparently cho phép sử dụng các biểu thức POSIX trong các regex của Python, tuy nhiên tôi đoán nó không bao gồm các ký tự Unicode trong lớp [:alpha:]
. Ví dụ:Làm cách nào để khớp các ký tự có dấu với một regex bằng Python?
>>> re.search(r'[[:alpha:] ]+','Please work blåbær and NOW stop 123').group(0)
'Please work bl'
Khi tôi muốn nó để phù hợp với Please work blåbær and NOW stop
EDIT: Tôi đang sử dụng Python 2.7
EDIT 2: tôi thử như sau:
>>> re.search(re.compile('[\w ]+', re.UNICODE),'Please work blåbær and NOW stop 123').group(0)
'Please work bl\xc3'
Không hoàn toàn những gì tôi muốn (tôi muốn kết hợp phần sau ký tự đầu tiên không phải ASCII), b ut ít nhất nó phù hợp với nhân vật hơn trước. Tôi nên làm gì ở đây để làm cho nó khớp với phần còn lại của những gì tôi muốn?
CHỈNH SỬA 3: Tôi không muốn khớp với bất kỳ ký tự nào không phải từ ""; bởi "từ" tôi có nghĩa là a-z, A-Z, không gian và bất kỳ biến thể có dấu của các ký tự từ. Tôi hy vọng tôi có ý tưởng của tôi trên; trong một cụm từ như
lets match força, but stop before that comma
Tôi chỉ muốn so khớp lets match força
EDIT 4: Vì vậy, tôi cố gắng sử dụng Python 3 chỉ dành riêng cho một kịch bản này:
>>> re.search(re.compile('[\w ]+', re.UNICODE),'lets match força, but stop before that comma').group(0)
'lets match força'
Tôi đoán nó hoạt động cho hầu hết các phần trong Python 3, ngoại trừ nó cũng phù hợp với số (mà tôi chắc chắn không muốn) và gạch dưới. Bất kỳ cách nào để sửa lỗi này, bằng Python 2 hoặc 3?