新手在这里正常表达希望得到一些帮助。
我有一项任务是根据允许的重复或分布字符数构建一个正则表达式。
这是我构建的正则表达式,但它不起作用,只匹配重复的字符。
/(.).*\1{2}/g
如果我的字符串是"test"
,则正则表达式应找到匹配项。如果量词是3而我的字符串是"1234343"
,那么正则表达式应该找到匹配。
此任务是一个更大项目的一部分,用户可以在html页面上配置用户名和密码的设置,在表单提交时,它将调用java servlet构建正则表达式并将其保存到数据库中。
每当用户导航到重置密码页面时,它都会将正则表达式发送回javascript以验证新密码,验证也将在服务器端完成。
我正在尝试构建一个javascript友好的正则表达式,它也适用于java。
非常感谢任何提示。我知道javascript中的lookbehind不受支持,但我不知道在构造正则表达式时还要记住什么。
答案 0 :(得分:1)
我认为你在寻找:
(.)(.*\1){2}
这将找到一个重复 3 次的角色。
(.)_________
捕获第一次出现的角色
在{0}个其他字符后,___(.*\1)___
再次找到该字符...
_________{2}
重复两次,总共发生3次。
您需要(___)
围绕您想要{__}
重复的部分。并且您希望比{__}
中的出现次数少1,因为(.)
已经计入1次。