热线电话:13121318867

登录
2019-01-21 阅读量: 845
正则表达式中 .* 与 .*? 的怎么区分?

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

比如说匹配输入串A: 202000000000200

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

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

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

0.0000
5
关注作者
收藏
评论(0)

发表评论

暂无数据