js正则+*?匹配多个

为什么 /21?/.test('2S')的结果是true
如果说是匹配了0个,那为什么/21?/.test('SS')为false呢?

狐的传说
浏览 1550回答 4
4回答

HUX布斯

? 字符匹配前面一个表达式0次或者1次。等价于 {0,1}。例如,/e?le?/ 匹配 "angel" 中的 'el',和 "angle" 中的 'le' 以及"oslo' 中的'l'。如果紧跟在任何量词 *、 +、? 或 {} 的后面,将会使量词变为非贪婪的(匹配尽量少的字符),和缺省使用的贪婪模式(匹配尽可能多的字符)正好相反。例如,对 "123abc" 应用 /d+/ 将会返回 "123",如果使用 /d+?/,那么就只会匹配到 "1"。

GCT1015

/21?/ 匹配 21 和 2

海绵宝宝撒

/21?/这个正则的意思是匹配 2 或者 21 的.所以只要你test的字符串中有一个2就回返回true
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript