[英]Matching a capturing group or failng the match if missing in Javascript regex
[英]Capturing Group Regex Javascript match returns two values why?
为什么"abcabcabc".match(/(abc){3}/);
返回两个条目["abcabcabc", "abc"]
? “abcabcabc”和“abc”
相似地,
["1234", "1234"]
每个正则表达式周围都有一个隐式捕获组,它存储在结果 0 中。
第二个结果来自您的捕获组(abc)
。 大多数正则表达式实现只保留该捕获组的最后一个匹配项。
第一捕获组
(abc){3}
{3}
量词 — 正好匹配 3 次重复捕获组只会捕获最后一次迭代。 在重复组周围放置一个捕获组以捕获所有迭代,或者如果您对数据不感兴趣,则使用非捕获组代替。
abc
逐字匹配字符abc
(区分大小写)
所以第一个值是整个匹配,即"abcabcabc"
。
第二个值是(abc)
捕获的最后一次迭代,即"abc"
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.