用于验证具有三个非白色-space 字符的字符串的正则表达式

Regex to validate string for having three non white-space characters

我正在使用 parsley js 来验证输入,我正在使用允许我传入正则表达式的 data-parsley-pattern。

我正在尝试验证字符串以确保它至少包含三个非白色 space 字符。以下是无效或有效的字符串。

valid: 1 2   b
invalid: 1 b [space]
valid: 3x c 1 3n
invalid: 1      b

[space] = 只是一个白色的 space,只在那个例子中使用它,因为它在字符串的末尾,在所有其他例子中,[=26=字符之间的]s表示有白色spaces.

我试过了:

\S{3}

没有成功

[\S{3}]
\S{3,}

\S{3,} match any non-white space character [^\r\n\t\f ]

Quantifier: {3,} Between 3 and unlimited times, as many times as possible, giving back as needed [greedy]

例如abcabc def

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


正如 Wiktor Stribiżew 所指出的那样,它只匹配 连续的字符 。如果你的意思是 "the input can have any number of whitespaces, anywhere, as long as there are at least three non-whitespace characters anywhere" 那么也许:

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

Anything or nothing, non-witespace, anything or nothing, non-whitespace, etc.

例如a b cab cabc

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

还可以在网站上查看所有内容:http://www.regular-expressions.info/

"[^\s][^\s][^\s]+"
[] 包含字符 class.
/s 是一个空白字符。
^ 有点像逻辑非。
+ 捕获一个或多个前一个字符
您可能需要根据任何特殊转义字符添加更多反斜杠