我正在寻找一个正则表达式,允许内部不超过2个非连续空格的字符串。
WORD is ok
WORD WORD is ok
WORD WORD WORD is ok
WORD WORD WORD WORD is not ok
我现在不关心连续的空间。
答案 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}[^ ]*$
它假设您的行开头没有空格。