638天 极客爱好者

重要的人越来越少,剩下的人也越来越重要 ​​

正则表达式中 .* 与 .*? 的区别

发布于 1个月前 / 89 次围观 / 0 条评论 / 正则 / 极客爱好者

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

比如说匹配输入串A: 101000000000100

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

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

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