我刚刚在 WordPress 核心中遇到了一个让我很感兴趣的正则表达式……我以前发现过这样的正则表达式并想知道它们,但它们有效,所以我没有改变它们。我感兴趣的部分如下:
|(?<!%)%f|
并且|(?<!%)(%s)|
- 注意它们是如何被管道而不是正斜杠包围的?
我做了一些搜索,无法找出表达式中的这种变化?我知道,在他们自己的表达中,他们几乎就像or
- 我明白了。但是代替正斜杠?
有人可以解释一下这里发生了什么吗?我唯一的想法之一是以下几点......
|(?<!%)
意味着要么什么都没有,要么意味着期待。
(%s)|
意味着要么(%s)
或没有...
这将是典型的管道。但是,正如我所说,我以前见过它代替正斜杠,所以我不确定这是否是 PCRE 的一些未记录的功能或类似的东西?
编辑
如果您有管道,则不需要正斜杠。如果您没有管道,则会收到正则表达式语法错误。