理解正则表达式的本质和含义

时间:2014-12-01 10:07:15

标签: regex

需要一些讨论和解释正则表达式,因为它似乎很明显,但后来我会写一个,它不会验证,我不明白为什么。

我正在使用http://regexpal.com/来测试我的表达式,并尝试(最终)验证密码。但是首先我只想简单地匹配8个或更多字符的字符串。

根据这个http://www.cheatography.com/davechild/cheat-sheets/regular-expressions/我应该拥有我需要的大部分内容。此网页告诉我\w匹配单词字符,然后+执行1或更多。这符合我正在测试的每个表达式(很棒)。现在我想只匹配那些有8个或更多字符的人。所以'messi'不应该验证,但'lollollol'应该。所以我然后写了这个(\w+{8,})表达式,但没有突出显示,也没有任何验证。我使用()括号来尝试将所有内容组合在一起,但它没有任何区别。任何人都可以看到我的想法出错了吗?

1 个答案:

答案 0 :(得分:1)

您必须从正则表达式中删除以下+。由于+执行重复前一个令牌一次或多次的工作,同样{8,}将重复前一个\w令牌恰好8次或更多次。因此,您不需要在此+模式中加入(\w+{8,})

(\w{8,})

必要时使用捕获组或以其他方式进行匹配。

\w{8,}