Regex 如何匹配正则表达式中的所有unicode字母字符和空格?
我正在尝试验证Python3/django表单中的地名。我想获得类似以下字符串的匹配:Regex 如何匹配正则表达式中的所有unicode字母字符和空格?,regex,python-3.x,unicode,django-forms,Regex,Python 3.x,Unicode,Django Forms,我正在尝试验证Python3/django表单中的地名。我想获得类似以下字符串的匹配:洛杉矶,加拿大,中国,和МССц。也就是说,字符串包含: 空间 字母字符(来自任何语言) 没有数字 无特殊字符(标点、符号等) 我当前使用的模式是中建议的r'^[^\W\d]+$'。然而,它似乎只匹配模式r'^[a-zA-Z]+$。也就是说,洛杉矶和洛杉矶中国不匹配,只有加拿大匹配 我的代码示例如下: import re re.search(r'^[^\W\d]+$', 'Россия') 它什么也不返回
洛杉矶
,加拿大
,中国代码>,和МССц
。也就是说,字符串包含:
- 空间
- 字母字符(来自任何语言)
- 没有数字
- 无特殊字符(标点、符号等)
我当前使用的模式是中建议的r'^[^\W\d]+$'
。然而,它似乎只匹配模式r'^[a-zA-Z]+$
。也就是说,洛杉矶和洛杉矶中国代码>不匹配,只有加拿大
匹配
我的代码示例如下:
import re
re.search(r'^[^\W\d]+$', 'Россия')
它什么也不返回。您的示例对我来说很有用,但会找到下划线而不是空格。这项工作:
>>> re.search(r'^(?:[^\W\d_]| )+$', 'Los Angeles')
<_sre.SRE_Match object at 0x0000000003C612A0>
>>> re.search(r'^(?:[^\W\d_]| )+$', 'Россия')
<_sre.SRE_Match object at 0x0000000003A0D030>
>>> re.search(r'^(?:[^\W\d_]| )+$', 'Los_Angeles') # not found
>>> re.search(r'^(?:[^\W\d_]| )+$', '中国')
<_sre.SRE_Match object at 0x0000000003C612A0>
>>重新搜索(r'^(?[^\W\d|]|)+$,“洛杉矶”)
>>>再搜索(r'^(?:[^\W\d|]|)+$,'МСС|')
>>>重新搜索(r'^(?:[^\W\d|]|)+$,'Los_Angeles')#未找到
>>>重新搜索(r'^(?:[^\W\d|]|)+$,'中国')
使用\u
而不是\w
s=re.search(r'^[\\u]+$,'(*.öС砦砦砦砦砦砦)仍然不返回任何内容。使用\u
而不是\\u
会导致错误不完全转义\u尝试打印(重新搜索(r'^\w\d]+$,'+$'、'ПССа'、re.UNICODE).group())
给了我一个AttributeError:NoneType对象没有属性'group'。它(Python 3.4)。对不起,不知道:(