我有一个匹配字母,数字,_和 - (最小和最大长度)的正则表达式。
^[a-zA-Z0-9_-]{3,100}$
我想在这组字符中包含空格。
根据Python文档:
在集合中也接受诸如\ w或\ S之类的字符类。
所以我试过了:
^[a-zA-Z0-9_-\s]{3,100}$
但它会导致字符范围错误。如何在上面的集合中包含空格?
答案 0 :(得分:20)
问题不是\s
,而是-
表示字符范围,除非它位于课程的结尾或开头。使用此:
^[a-zA-Z0-9_\s-]{3,100}$
答案 1 :(得分:2)
^[-a-zA-Z0-9_\s]{3,100}
_-\s
被解释为范围。表示自身的破折号必须是[...]
答案 2 :(得分:0)
你在正确的轨道上,添加第二个反斜杠以逃避斜杠,因为反斜杠是一个转义字符。
^[a-zA-Z0-9_\\-\\s]{3,100}$