(?=hopeful)hope
-> (?=hopeful) + hope
(?=hopeful)定位是hopeful中h的index 向后匹配的话 就找到了hope
hope(?=ful)
-> hope + (?=ful)
先找到hope 之后匹配ful的index 可以试试hope(?=ful)ful
去匹配hopeful
你可以假想匹配是在文本编辑器里把光标挪到匹配文本的开始位置,并选中捕获文字。
hope 匹配效果是 |hope... 竖线表示光标位置,下一个匹配从e之后开始。
(?ful) 匹配ful,但是捕获长度为0,效果相当于 ...|ful
两者结合就是匹配整个hopeful但是只捕获hope
(?hopeful) 匹配效果为 |hopeful, 匹配了整个hopeful,并且下个匹配仍从h开始
后续 hope 匹配效果是 |hope...
效果与上面的正则式相同。