3-17 不懂这里的意思

3-17 不懂这里的意思

var str = 'aaab';

var pattern = /a+?b/;

console.log(pattern.exec(str);

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
小于飞飞 2018-07-20 13:43:36

/a+?b/ 正则表示如下:a+ 匹配一个或多个贪婪模式,而添加 a+? 非贪婪,尽可能少的匹配,而 a+?b ,去匹配字符‘aaab’,从第一个开始匹配的a 开始尽可能少的匹配,直到遇b , 所以结果是 aaab,希望帮助你,祝学习愉快。

  • 提问者 TeLiCH #1
    怎么理解尽可能少的匹配?
    2018-07-20 14:09:36
  • 小于飞飞 回复 提问者 TeLiCH #2
    如果只有 a+? 他匹配出来的是 a , 如果写成 a+?b ,大家课程认为结果是 ab, 不是说只能匹配一个a, 是尽量少的匹配, 因为 正则从左到右,第一个a 匹配到,后他会继续匹配a ,直到遇到匹配的下一个b。所以结果应该是 aaab
    2018-07-20 18:57:26
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
进击JavaScript核心 2018
  • 参与学习       466    人
  • 提交作业       74    份
  • 解答问题       635    个

JavaScript不仅能实现静态页面到动态特效的转变,还能完成数据的动态交互,但是关于js到底功能有多强大,大家还是有所期待的,本路径将带你深入到js中,一一揭开JavaScript的神秘面纱。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师