如果我正在创建需要它的unicode正则表达式,那么等效于[:alpha:]
。
例如,对于[:word:]
,它是[\w]
会很棒。
答案 0 :(得分:10)
对于Unicode合规性,您需要使用
regex = re.compile(r"[^\W\d_]", re.UNICODE)
当前的Python正则表达式引擎不支持Unicode字符属性(如\p{L}
)。
<强>解释强>
\w
匹配(如果设置了Unicode标志)任何字母,数字或下划线。
[^\W]
匹配相同的东西,但是对于否定的字符类,我们现在可以减去我们不想要包含的字符:
[^\W\d_]
匹配\w
次匹配,但没有数字(\d
)或下划线(_
)。
>>> import re
>>> regex = re.compile(r"[^\W\d_]", re.UNICODE)
>>> regex.findall("aä12_")
['a', 'ä']
答案 1 :(得分:-1)
范围内的任何字符:
[A-Za-z]
这是Python中最好的速记..
或者您可以使用[A-Z]
:ignorecase
re.compile(r'[A-Z]', re.I)
或内联:re.compile(r'(?i)[A-Z]')
对于unicode:re.compile(r'[A-Z]', re.I|re.U)
或re.compile(r'(?iu)[A-Z]')