正则表达式验证字符串是否有三个非空​​白字符

时间:2016-07-12 19:03:40

标签: regex parsley.js

我正在使用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}]

2 个答案:

答案 0 :(得分:4)

\S{3,}
  

\ S {3,}匹配任何非空格字符[^ \ r \ n \ t \ f]

     

量词:{3,}在3到无限次之间,尽可能多次,   根据需要回馈[贪心]

e.g。 abcabc def

https://regex101.com/r/gO6sT3/1

正如WiktorStribiżew所指出的那样,只匹配连续字符。如果你的意思是“输入可以有任何数量的空格,只要在任何地方至少有三个非空​​白字符”,那么可能:

.*\S.*\S.*\S.*
  

任何或不存在,非空间,任何事物或任何事物,非空白等。

e.g。 a b cab cabc

https://regex101.com/r/wY0kL4/1

同时查看网站上的所有内容:http://www.regular-expressions.info/

答案 1 :(得分:1)

"[^\s][^\s][^\s]+"
[]包含一个字符类 /s是一个空白字符 ^有点像逻辑而非。
+捕获前一个字符中的一个或多个 您可能需要添加更多反斜杠,具体取决于任何特殊的转义字符