清晰的认识量化值
这个问题在这里已经有了答案:
量词有三种类型:
例如,请输入以下内容:
The answer is 42
现在,采取这个正则表达式:
.*(d+)
问题是,根据你使用哪个*
版本, (d+)
会捕获什么.*
:
*
,将被捕获的是2
; *?
,将被捕获的是42
; *+
,正则表达式不匹配。 为什么:
d+
匹配; 它会不情愿地回溯直到d+
满意,并且d+
满足2
; 4
它让d+
完成它的工作,因此42
被捕获; .*+
表示“No ...”,因此不匹配。 所有格量词意味着没有回溯。
当你尝试匹配mdfoo
时会发生什么.*+foo
:
.*+
)匹配整个字符串mdfoo
foo
)在第一场比赛后没有找到 这些占有量词很清楚地在这里解释。
链接地址: http://www.djcxy.com/p/76905.html