【发布时间】:2018-10-17 04:02:55
【问题描述】:
我在 Free Code Camp 上被困在这个问题上。看了讨论室的各种解释,问了朋友,还是不明白。
挑战:在 pwRegex 中使用前瞻来匹配长度超过 5 个字符且具有两个连续数字的密码。
答案:
let sampleWord = "astronaut";
let pwRegex = /(?=\w{5,})(?=\D*\d{2})/;
let result = pwRegex.test(sampleWord);
我不明白为什么必须写 \D* 才能找到两个连续的数字。为什么 d{2} 不够?
【问题讨论】:
-
having to write \D* to find two consecutive digits找到任何非数字。\d{2}只会匹配数字。但是数字前面可以有非数字的符号。 -
这个答案是错误的。应该是
/^(?=[\s\S]{6})(?=[\s\S]*\d{2})/。
标签: javascript regex lookahead