狐的傳說
2019-03-13 13:15:33
為什么 /21?/.test('2S')的結(jié)果是true如果說是匹配了0個(gè),那為什么/21?/.test('SS')為false呢?
4 回答

HUX布斯
TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超6個(gè)贊
? 字符
匹配前面一個(gè)表達(dá)式0次或者1次。等價(jià)于 {0,1}。
例如,/e?le?/ 匹配 "angel" 中的 'el',和 "angle" 中的 'le' 以及"oslo' 中的'l'。
如果緊跟在任何量詞 *、 +、? 或 {} 的后面,將會(huì)使量詞變?yōu)榉秦澙返模ㄆヅ浔M量少的字符),和缺省使用的貪婪模式(匹配盡可能多的字符)正好相反。
例如,對 "123abc" 應(yīng)用 /d+/ 將會(huì)返回 "123",如果使用 /d+?/,那么就只會(huì)匹配到 "1"。

海綿寶寶撒
TA貢獻(xiàn)1809條經(jīng)驗(yàn) 獲得超8個(gè)贊
/21?/
這個(gè)正則的意思是匹配 2
或者 21
的.
所以只要你test
的字符串中有一個(gè)2就回返回true
添加回答
舉報(bào)
0/150
提交
取消