正则表达式中 .* 与 .*? 的区别
简单说是贪婪匹配与非贪婪匹配的区别。
比如说匹配输入串A: 101000000000100
使用
1.*1
将会匹配到1010000000001
, 匹配方法: 先匹配至输入串A的最后, 然后向前匹配, 直到可以匹配到1, 称之为贪婪匹配。使用
1.*?1
将会匹配到101, 匹配方法: *匹配下一个1之前的所有字符, 称之为非贪婪匹配。
所有带有量词的都是非贪婪匹配: .*?
, .+?
, .{2,6}?
甚至 .??
注: 翻译自StackOverflow回答
参考链接
stackoverflow.com/questions/3…
www.regular-expressions.info/repeat.html…
via.https://juejin.im/entry/5805dcc85bbb50005b864405
当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »
因本文不是用Markdown格式的编辑器书写的,转换的页面可能不符合AMP标准。