Python正则表达式:在字符范围内包含空格

Nit*_*kar 7 python regex python-2.7

我有一个匹配字母,数字,_和 - (具有最小和最大长度)的正则表达式.

^[a-zA-Z0-9_-]{3,100}$
Run Code Online (Sandbox Code Playgroud)

我想在那组字符中包含空格.

根据Python文档:

在集合中也接受诸如\ w或\ S之类的字符类.

所以我尝试过:

^[a-zA-Z0-9_-\s]{3,100}$
Run Code Online (Sandbox Code Playgroud)

但它给出了不良的字符范围错误.如何在上面的集合中包含空格?

Mar*_*der 21

问题不在于,\s而是-指示字符范围,除非它在课程的结尾或开始.用这个:

^[a-zA-Z0-9_\s-]{3,100}$
Run Code Online (Sandbox Code Playgroud)