请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

正则的贪婪匹配都是从右向左匹配的吗?

“boooooooobby123"

regex_str=".*(b.*b).*"

老师好,正则表达式的贪婪匹配都是从右往左匹配的话,括号右边的.*匹配的是y123,(b.*b)匹配的是bb,括号左边的.*匹配的是boooooooo    我这样理解对吗?

但是上面这个例子怎么能说明贪婪匹配的模式是尽量匹配出最长的字符串?

正在回答

2回答

匹配出最长的字符串 你可以理解为 找最后一个满足条件的最短的字符串

0 回复 有任何疑惑可以回复我~
  • 提问者 慕少6518 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2018-02-24 18:47:15
慕仔4295924 2018-03-26 20:32:35

regex_str=".*(b.*b).*"  //  .*='boooooooo'(最贪婪), b='b', .*= '', b='b',  .*='y123'

regex_str=".*?(b.*b).*"  //  .*?=''(懒惰了) , b='b', .*='oooooooob'(最贪婪) , b='b',  .*='y123'

regex_str=".*?(b.*?b).*"  //  .*?=''(懒惰了) , b='b', .*?='oooooooo'(懒惰了) , b='b',  .*='by123'(最贪婪)

这样理解对不对?

2 回复 有任何疑惑可以回复我~
  • 回答好形象,居然我都看懂了,老师的从右到左边我没看懂
    回复 有任何疑惑可以回复我~ 2018-11-03 04:27:04
  • 老师的从右到左是懒的解释这么多了,算是个技巧吧,不过这种讲解太难理解,没有真正说明白贪婪的意思
    回复 有任何疑惑可以回复我~ 2021-06-14 22:01:59
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信