具有2个非连续空格的正则表达式

时间:2013-03-28 18:26:46

标签: regex

我正在寻找一个正则表达式,允许内部不超过2个非连续空格的字符串。

WORD is ok
WORD WORD is ok
WORD WORD WORD is ok
WORD WORD WORD WORD is not ok

我现在不关心连续的空间。

3 个答案:

答案 0 :(得分:3)

如果字符串包含两个以上的非连续空格,您可以使用否定前瞻来阻止匹配

^(?!\S*\s+\S+\s+\S+\s)

或者,有效字符串将匹配

^\S*\s*\S*\s*\S*$

答案 1 :(得分:0)

您可以使用反向引用:

/(\b.+\b)\1\1\1/

例如,

/(\b.+\b)\1\1\1/.test('HELLO HELLO HELLO HELLO'); // true

然而,

/(\b.+\b)\1\1\1/.test('HELLO HELLO HELLO'); // false

答案 2 :(得分:0)

你试过吗

^([^ ]+\s+){0,2}[^ ]*$

它假设您的行开头没有空格。