python正则表达式[:alpha:]

Mic*_*ade 0 python regex

我在Python中使用这个正则表达式:

import re

>>> ER = re.compile('^\w{0,30}$', re.U)

>>> ER.sub('.', 'Maçã')

>>>....
Run Code Online (Sandbox Code Playgroud)

但是想要只捕捉字母,[AZ]对我不起作用,因为我需要带重音的字母.有没有办法使用POSIX?[:alpha:],像那样或其他解决方案?

谢谢!

Hug*_*ell 5

修改了正则表达式 - 怎么样

ER = re.compile(u'^[^\W\d_]{1,30}$', re.U)
s = ER.sub(u'.', u'Maçã')
Run Code Online (Sandbox Code Playgroud)

匹配u'Maçã'但不是u'Maçã01'.