【发布时间】:2016-02-07 11:01:48
【问题描述】:
我需要创建一个验证来确定一个字符串是否仅由重复的字符组成。因此,例如,它会捕获“pp”而不是“happy”。
到目前为止,我可以使用以下方法检查重复字符:
/(.)\1+/.test(value);
如何更改此正则表达式以仅捕获“pp”而不捕获“happy”?正则表达式会是最好的方法吗?
【问题讨论】:
标签: javascript regex
我需要创建一个验证来确定一个字符串是否仅由重复的字符组成。因此,例如,它会捕获“pp”而不是“happy”。
到目前为止,我可以使用以下方法检查重复字符:
/(.)\1+/.test(value);
如何更改此正则表达式以仅捕获“pp”而不捕获“happy”?正则表达式会是最好的方法吗?
【问题讨论】:
标签: javascript regex
【讨论】:
逆向也应该起作用。即,这个正则表达式应该匹配一个包含两个不重复字符或空字符串的字符串。否定 ! 存在于正则表达式进行反向匹配之前。
> !/(.)(?!\1).|^$/.test('happy')
false
> !/(.)(?!\1).|^$/.test('')
false
> !/(.)(?!\1).|^$/.test('pp')
true
> !/(.)(?!\1).|^$/.test('ppo')
false
> !/(.)(?!\1).|^$/.test('ppppppppp')
true
>
【讨论】: