为了账号安全,请及时绑定邮箱和手机立即绑定

正则表达式贪婪模式

正则表达式贪婪模式

倚天杖 2019-03-05 15:27:34
1.代码2.问题:为什么 7 和 9 之间是 2个$符号,而不是 3个$ 符号呢?(对贪婪模式有基础的理解)
查看完整描述

2 回答

?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

量词默认都是贪婪模式,如* ? +,贪婪的意思是尽可能多的匹配。
*表示前面的内容匹配0到多次,注意包含0次,也就是说可以匹配0个字符,也就是仅仅匹配一个位置。

所以字符串12345678890
匹配1前面的位置,此时*匹配的次数是0
匹配2前面的位置,此时*匹配的次数是0
...
匹配7前面的位置,此时*匹配的次数是0
然后,当从8前面的位置开始匹配的时候,此时*匹配的次数是2,此次匹配结束后,位置移动到9前面的位置;
匹配9前面的位置,此时*匹配的次数是0
匹配0前面的位置,此时*匹配的次数是0
匹配0后面的位置,此时*匹配的次数是0

所以,当替换的时候,会在1,2,3,4,5,6,7前面添加一个$,然后两个88替换成一个$,然后9前面添加一个$0前面添加一个$0后面添加一个$


查看完整回答
反对 回复 2019-03-05
  • 2 回答
  • 0 关注
  • 573 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信