清晰的认识量化值
这个问题在这里已经有了答案:
量词有三种类型:
例如,请输入以下内容:
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