js正则表达式,能不能帮我分析下,为什么出现这样的结果 10

vara="helloworldworld";a.match(/(.*?)wor/);结果是[''hellowor","hello"],为什么出现的是这两个值呢,求解释... var a="hello world world "; a.match(/(.*?)wor/);
结果是 [''hello wor","hello "],为什么出现的是这两个值呢,求解释
展开
 我来答
xi8km9
2016-10-24 · TA获得超过1086个赞
知道小有建树答主
回答量:688
采纳率:50%
帮助的人:725万
展开全部
这个的含意不是两个值, 而是
[完全匹配的字符串, 第一个捕获组捕获的字符串, 第二个捕获组捕获的字符串, ...]
所以
"hello wor"匹配(.*?)wor
"hello "匹配.*?
追问
那么,为啥没出现第二个补货组捕获的字符串呢?
还有,用/(.*?)wor/去匹配"hello world world ",的结果到底应该是啥呢?麻烦您帮我解答下
追答
我後面写了省略号意味著有多少个捕获组就有捕获多少个
.*和.*?的区别是後者是非贪婪匹配, 也就是说, 如果用(.*)wor来匹配的话会匹配到hello word wor
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式