正则表达式 - 重复或分布的字符

时间:2018-02-21 03:47:53

标签: javascript java

新手在这里正常表达希望得到一些帮助。

我有一项任务是根据允许的重复或分布字符数构建一个正则表达式。

这是我构建的正则表达式,但它不起作用,只匹配重复的字符。

/(.).*\1{2}/g

如果我的字符串是"test",则正则表达式应找到匹配项。如果量词是3而我的字符串是"1234343",那么正则表达式应该找到匹配。

此任务是一个更大项目的一部分,用户可以在html页面上配置用户名和密码的设置,在表单提交时,它将调用java servlet构建正则表达式并将其保存到数据库中。

每当用户导航到重置密码页面时,它都会将正则表达式发送回javascript以验证新密码,验证也将在服务器端完成。

我正在尝试构建一个javascript友好的正则表达式,它也适用于java。

非常感谢任何提示。我知道javascript中的lookbehind不受支持,但我不知道在构造正则表达式时还要记住什么。

1 个答案:

答案 0 :(得分:1)

我认为你在寻找:

(.)(.*\1){2}

这将找到一个重复 3 次的角色。

(.)_________捕获第一次出现的角色 在{0}个其他字符后,___(.*\1)___再次找到该字符...
_________{2}重复两次,总共发生3次。

您需要(___)围绕您想要{__}重复的部分。并且您希望比{__}中的出现次数少1,因为(.)已经计入1次。