我习惯了像这样使用前瞻和后瞻断言的标准用法(例如):.(?=foo)
和(?<=foo).
。也就是说,在前瞻的情况下,我们需要将搜索标记放在前瞻之前,在后瞻的情况下,我们需要将搜索标记放在后瞻之后。但我也见过这样的构造:(?=foo).
。这有意义吗?如果有意义,它会匹配什么?
答案1
我也看到了(?=foo).
。这有意义吗?如果有意义,它会匹配什么?
它仍然是一个积极的前瞻正则表达式:
笔记:
如果你的测试表达式是,
afoo
它将匹配f
。配合
foo
使用(?=foo).+