本帖最后由 newuser 于 2010-12-15 08:15 编辑 (?=pattern) 正向预查,在任何匹配pattern的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如,“Windows(?=95|98|NT|2000)”能匹配“Windows2000”中的“Windows”,但不能匹配“Windows3.1”中的“Windows”。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始。
例有个字符串:
"this Windows95 and Windows2000,Windows3.1 not WindowsNT
this Windows95 and Windows2000,Windows3.1 not WindowsNT"
那么,在第一个出现的Windows95 匹配之后,最后一次匹配如何确定?是第一个出现的Windows2000还是第一个出现的WindowsNT?
我想应该是第一个出现的Windows2000,不知是否理解正确?
在最后一次匹配之后立即开始下一次匹配的搜索:是不是该从"第一行的WindowsNT"继续匹配? |