Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 如何匹配正则表达式中的所有unicode字母字符和空格?_Regex_Python 3.x_Unicode_Django Forms - Fatal编程技术网

Regex 如何匹配正则表达式中的所有unicode字母字符和空格?

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]+$', 'Россия') 它什么也不返回

我正在尝试验证Python3/django表单中的地名。我想获得类似以下字符串的匹配:
洛杉矶
加拿大
中国,和
МССц
。也就是说,字符串包含:

  • 空间
  • 字母字符(来自任何语言)
  • 没有数字
  • 无特殊字符(标点、符号等)
我当前使用的模式是中建议的
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)。对不起,不知道:(