为了账号安全,请及时绑定邮箱和手机立即绑定

js正则+*?匹配多个

js正则+*?匹配多个

狐的传说 2019-03-13 13:15:33
为什么 /21?/.test('2S')的结果是true如果说是匹配了0个,那为什么/21?/.test('SS')为false呢?
查看完整描述

4 回答

?
HUX布斯

TA贡献1876条经验 获得超6个赞

? 字符
匹配前面一个表达式0次或者1次。等价于 {0,1}。

例如,/e?le?/ 匹配 "angel" 中的 'el',和 "angle" 中的 'le' 以及"oslo' 中的'l'。

如果紧跟在任何量词 *、 +、? 或 {} 的后面,将会使量词变为非贪婪的(匹配尽量少的字符),和缺省使用的贪婪模式(匹配尽可能多的字符)正好相反。

例如,对 "123abc" 应用 /d+/ 将会返回 "123",如果使用 /d+?/,那么就只会匹配到 "1"。


查看完整回答
反对 回复 2019-03-21
?
GCT1015

TA贡献1827条经验 获得超4个赞

/21?/ 匹配 21 和 2


查看完整回答
反对 回复 2019-03-21
?
海绵宝宝撒

TA贡献1809条经验 获得超8个赞

/21?/这个正则的意思是匹配 2 或者 21 的.
所以只要你test的字符串中有一个2就回返回true

查看完整回答
反对 回复 2019-03-21
  • 4 回答
  • 0 关注
  • 1549 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号