[英]Python regex to match non-ascii names
我正在嘗試使用re模塊驗證名稱字段。
\\w
與非ascii字符(例如à
不匹配。
似乎在許多其他正則表達式引擎中,解決方案將是\\p{L}
,但是在python中不支持它。 什么是合適的等價物?
更新:
這與圍繞這個主題的其他問題不同,因為我正在尋找\\w
的unicode替代,它不是使用默認的re.UNICODE
標志獲得的re.UNICODE
(因為這個標志也使\\w
匹配數字和下划線) 。
我相信你需要使用UNICODE修飾符為字符類啟用unicode支持。
regexRef = re.compile("\w", re.UNICODE)
看看這是否有助於匹配那些非ASCII字符。
[^\\d\\s_]
符合您的要求?
當與re.UNICODE
一起使用時, [^\\W0-9_]
適用於我
將Unicode字符串傳遞給re
模塊並啟用re.UNICODE
標志,例如:
# -*- coding: utf-8 -*-
import re
print(re.findall(ur"\w+", ur"\w does match à.", flags=re.UNICODE))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.