【发布时间】:2016-06-16 16:24:03
【问题描述】:
我有以下正则表达式:
^(?:[\w]+?\/)?[\w]+?@[\w]+?\.[\w]+?$
现在我需要将整个字符串长度限制为 25 个字符: 我尝试了以下方法:
^((?:[\w]+?\/)?[\w]+?@[\w]+?\.[\w]+?){0,25}$
但它仍然匹配超过 25 个字符的正则表达式,为什么?
【问题讨论】:
-
你能发布一些匹配或不匹配的例子吗?
-
匹配外部 () 中出现 0 到 25 次的内容
-
为什么不能简单检查字符串的长度是否小于等于25?
-
每天都会有人问这类问题。见my recent answer。我标记为骗子,因为我相信我在原始问题中的回答包含解释如何在正则表达式中使用前瞻进行限制。
-
@WiktorStribiżew,是的,好的,但我误解的一点是令牌意味着 正则表达式中的字符串可以重复 n 次,而不是积极的前瞻工作方式。如果缺少此位,请将此添加到您的答案中,因为它很重要。谢谢!
标签: javascript regex