询问正则问题 ".*?"组合起来的含义

正则: .*(((?i)phpsessid|sessionid)=[color=red][size=large].*?[/size][/color])(\?|&|$).*

str: http://www.foo.com/foo.html;jsessionid=1E6FEC0D14D044541DD84D2D013D29ED?param=1&another=2

结果
groups: 4
0: http://www.foo.com/foo.html;jsessionid=1E6FEC0D14D044541DD84D2D013D29ED?param=1&another=2
1: sessionid=1E6FEC0D14D044541DD84D2D013D29ED
2: sessionid
3: ?

问号去掉
正则: .*(((?i)phpsessid|sessionid)=[color=red][size=large].*[/size][/color])(\?|&|$).*

结果
groups: 4
0: http://www.foo.com/foo.html;jsessionid=1E6FEC0D14D044541DD84D2D013D29ED?param=1&another=2
1: sessionid=1E6FEC0D14D044541DD84D2D013D29ED?param=1&another=2
2: sessionid
3:

怎么解释这个问号的作用呢

?指非贪婪匹配,即找到了匹配项就结束,跳到下个位置
如aaa来匹配a
?,你就会找出三个a来,而用a*来匹配就会找出aaa来。
大致意思就是如此