正则的贪婪匹配都是从右向左匹配的吗?
来源:3-2 正则表达式-1
慕少6518
2018-02-10
“boooooooobby123"
regex_str=".*(b.*b).*"
老师好,正则表达式的贪婪匹配都是从右往左匹配的话,括号右边的.*匹配的是y123,(b.*b)匹配的是bb,括号左边的.*匹配的是boooooooo 我这样理解对吗?
但是上面这个例子怎么能说明贪婪匹配的模式是尽量匹配出最长的字符串?
写回答
2回答
-
匹配出最长的字符串 你可以理解为 找最后一个满足条件的最短的字符串
012018-02-24 -
慕仔4295924
2018-03-26
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'(最贪婪)
这样理解对不对?
222021-06-14
相似问题