鍍金池/ 問答/Java  HTML/ JavaScript正則中星號(hào)的理解?

JavaScript正則中星號(hào)的理解?

var str  = "12 fff 56 ffg2334";
console.log(str.match(/\d*/g))
*代表匹配0到多個(gè),怎么最后匹配出來(lái)的空字符串我無(wú)法理解,求大神指點(diǎn)

clipboard.png

回答
編輯回答
裸橙

Zero-Length Regex Matches
https://www.regular-expressio...
比如用 \b 去匹配 abcd 就能發(fā)現(xiàn)頭尾被匹配了

2018年5月13日 01:30
編輯回答
北城荒

個(gè)人猜想:
C語(yǔ)言中,字符串末尾有個(gè)隱藏的 \0 ,不知道js中的字符串末尾有沒有這個(gè)家伙(js不熟)
match函數(shù)得把整個(gè)字符串跑完吧,跑到最后沒有了, * 代表 0 到 多,\0 也就是0個(gè)數(shù)字,所以給你返回了 ""
我以為你想得到 12 56 2334 *換成+

2018年3月16日 18:51
編輯回答
未命名

如果能理解 \d{0} 被當(dāng)成空字符的話,那就沒問題了??兆址鋵?shí)就是位置,類似 ^$,請(qǐng)看下面的代碼

"1x".match(/\d{0}/g)
// => ["", "", ""] 兩個(gè)字符,三個(gè)位置

歡迎看https://pan.baidu.com/s/1qYeC0ri

2017年2月25日 08:16
編輯回答
墨染殤

這個(gè)問題我也很好奇,沒有星號(hào) 就能匹配出數(shù)字來(lái),有星號(hào)就很奇怪,剛剛找到了資料你可以看一下
圖片描述

2017年9月16日 12:42