需要一些讨论和解释正则表达式,因为它似乎很明显,但后来我会写一个,它不会验证,我不明白为什么。
我正在使用http://regexpal.com/来测试我的表达式,并尝试(最终)验证密码。但是首先我只想简单地匹配8个或更多字符的字符串。
根据这个http://www.cheatography.com/davechild/cheat-sheets/regular-expressions/我应该拥有我需要的大部分内容。此网页告诉我\w
匹配单词字符,然后+
执行1或更多。这符合我正在测试的每个表达式(很棒)。现在我想只匹配那些有8个或更多字符的人。所以'messi'不应该验证,但'lollollol'应该。所以我然后写了这个(\w+{8,})
表达式,但没有突出显示,也没有任何验证。我使用()
括号来尝试将所有内容组合在一起,但它没有任何区别。任何人都可以看到我的想法出错了吗?
答案 0 :(得分:1)
您必须从正则表达式中删除以下+
。由于+
执行重复前一个令牌一次或多次的工作,同样{8,}
将重复前一个\w
令牌恰好8次或更多次。因此,您不需要在此+
模式中加入(\w+{8,})
。
(\w{8,})
必要时使用捕获组或以其他方式进行匹配。
\w{8,}