Python 正则表达式获取所有字母字符

Python 正则表达式获取所有字母字符,python,regex,special-characters,Python,Regex,Special Characters,我想要像[A-z]这样的东西,它可以计算所有字母字符加上ö,ä,ä等 如果我使用[A-ü]我可能会得到拉丁语言使用的所有特殊字符,但它也允许使用其他东西,如?{}[、§æææµ¥ 例如: 编辑: 我需要在python2中使用它。根据您使用的正则表达式引擎,您可以使用^\p{L}+$正则表达式。\p{L}表示unicode字母: 除了复杂之外,Unicode还带来了新的可能性。 一是每个Unicode字符都属于某个类别 可以将属于“字母”类别的单个字符与匹配 \p{L} 示例应该说明我所说的。似

我想要像
[A-z]
这样的东西,它可以计算所有字母字符加上
ö
ä
ä

如果我使用
[A-ü]
我可能会得到拉丁语言使用的所有特殊字符,但它也允许使用其他东西,如
?{}[、§æææµ¥

例如:

编辑:
我需要在python2中使用它。

根据您使用的正则表达式引擎,您可以使用
^\p{L}+$
正则表达式。
\p{L}
表示unicode字母:

除了复杂之外,Unicode还带来了新的可能性。 一是每个Unicode字符都属于某个类别 可以将属于“字母”类别的单个字符与匹配 \p{L}


示例应该说明我所说的。似乎Regex101上的regex引擎确实支持这一点,您只需要从左上角选择PCRE(PHP)。

根据您使用的正则表达式引擎,您可以使用
^\p{L}+$
正则表达式。
\p{L}
表示unicode字母:

除了复杂之外,Unicode还带来了新的可能性。 一是每个Unicode字符都属于某个类别 可以将属于“字母”类别的单个字符与匹配 \p{L}


示例应该说明我的意思。似乎Regex101上的regex引擎确实支持这一点,您只需要从左上角的o处选择PCRE(PHP)。

当您使用
[A-z]
时,您不仅捕获了从“A”到“z”的字母,还捕获了一些非字母字符:
[\]^

在Python中,您可以使用
[^\W\d\U]
re.U
选项来匹配Unicode字符(请参阅)

基于您的输入字符串

Python示例:

import re
r = re.search(
    r'(?P<unicode_word>[^\W\d_]*)',
    u'TestöäüéàèÉÀÈéàè',
    re.U
)

print r.group('unicode_word')
>>> TestöäüéàèÉÀÈéàè
重新导入
r=重新搜索(
r'(?P[^\W\d.]*),
u'Testöäèèèèèèèèèèèè,
re.U
)
打印r.group('unicode\u word')
>>>测试

当您使用
[A-z]
时,您不仅捕获了从“A”到“z”的字母,还捕获了更多的非字母字符:
[\]^ `

在Python中,您可以使用
[^\W\d\U]
re.U
选项来匹配Unicode字符(请参阅)

基于您的输入字符串

Python示例:

import re
r = re.search(
    r'(?P<unicode_word>[^\W\d_]*)',
    u'TestöäüéàèÉÀÈéàè',
    re.U
)

print r.group('unicode_word')
>>> TestöäüéàèÉÀÈéàè
重新导入
r=重新搜索(
r'(?P[^\W\d.]*),
u'Testöäèèèèèèèèèèèè,
re.U
)
打印r.group('unicode\u word')
>>>测试

这可能是最好的主意,但我使用的是python,而标准正则表达式库不支持这一点。这可能是最好的主意,但我使用的是python,而标准正则表达式库不支持这一点。