简单说是贪婪匹配非贪婪匹配的区别。

比如说匹配输入串A:  101000000000100

  1. 使用  1.*1  将会匹配到 1010000000001 , 匹配方法: 先匹配至输入串A的最后, 然后向前匹配, 直到可以匹配到1, 称之为贪婪匹配。

  2. 使用  1.*?1  将会匹配到101, 匹配方法: *匹配下一个1之前的所有字符, 称之为非贪婪匹配。

所有带有量词的都是非贪婪匹配:  .*? .+? .{2,6}?  甚至  .??

注: 翻译自StackOverflow回答

 

参考链接

stackoverflow.com/questions/3…

www.regular-expressions.info/repeat.html…

 

via.https://juejin.im/entry/5805dcc85bbb50005b864405