qq_44135381
qq_44135381
采纳率20%
2019-03-21 19:17 阅读 316

正则表达式的.*?,*?和.*和*?之间的区别

正则表达式的.*?,*?和.*和*?之间的区别..................................................................

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • caozhy 从今以后生命中的每一秒都属于我爱的人 2019-03-22 00:02
    .*?。就是表示匹配任意字符并且尽可能少。
    .*是匹配任意字符
    
    比如 abccc,用a.*?c匹配,就是abc,用a.*c匹配就是abccc
    *?本身不能构成表达式,要看前面。
    比如 a*?,就是a出现0次或者n次,并且尽可能少
    
    点赞 评论 复制链接分享
  • NotBack notback 2019-03-23 13:22

    尽量少用这类任意匹配,一来速度慢,二来非预期多。
    功能解释楼上已经说了,基本没问题
    不过 .*?有很多非预期情况,比如 .*?a 理论上是a前面最少的匹配。但是实际上,有可能匹配从字符串开头到第一个a字母为止。
    一般万不得已非要用 .*? 最好前导后导都有限定。

    点赞 评论 复制链接分享

相关推荐