我正在使用parsley js验证输入,我正在使用data-parsley-pattern,它允许我传入正则表达式。
我正在尝试验证字符串,以确保它包含至少三个非空格字符。以下是无效或有效的字符串。
valid: 1 2 b
invalid: 1 b [space]
valid: 3x c 1 3n
invalid: 1 b
[space] =只是一个空格,仅在该示例中使用它,因为它位于字符串的末尾,在所有其他示例中,字符之间的空格表示存在空格。
我试过了:
\S{3}
没有成功
和
[\S{3}]
答案 0 :(得分:4)
\S{3,}
\ S {3,}匹配任何非空格字符[^ \ r \ n \ t \ f]
量词:{3,}在3到无限次之间,尽可能多次, 根据需要回馈[贪心]
e.g。 abc
或abc def
https://regex101.com/r/gO6sT3/1
正如WiktorStribiżew所指出的那样,只匹配连续字符。如果你的意思是“输入可以有任何数量的空格,只要在任何地方至少有三个非空白字符”,那么可能:
.*\S.*\S.*\S.*
任何或不存在,非空间,任何事物或任何事物,非空白等。
e.g。 a b c
或ab c
或abc
https://regex101.com/r/wY0kL4/1
同时查看网站上的所有内容:http://www.regular-expressions.info/
答案 1 :(得分:1)
"[^\s][^\s][^\s]+"
[]
包含一个字符类
/s
是一个空白字符
^
有点像逻辑而非。
+
捕获前一个字符中的一个或多个
您可能需要添加更多反斜杠,具体取决于任何特殊的转义字符