簡體   English   中英

Python正則表達式匹配非ascii名稱

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM