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,而标准正则表达式库不支持这一点。