我最近在PCRE- (Perl兼容的正则表达式)文档中阅读并且遇到了一些有规则表达的有趣技巧.当我继续阅读并耗尽自己时,我因为使用一些(*...)模式而产生了一些混乱而停止了.
我的问题和困惑与(*PRUNE)和(*FAIL)
现在对于参考(*SKIP)行为(*PRUNE),除了如果模式是未锚定的,则不等于前一个字符,而是到达主题中遇到的位置(*SKIP).
文档说明如果模式的其余部分不匹配,则(*PRUNE)导致匹配在主题中的当前起始位置失败.它表示否定断言的(*FAIL)同义词(?!).在模式中的给定位置强制匹配失败.
所以基本上(*FAIL)表现得像一个失败的否定断言,并且是一个同义词(?!)
并且如果存在导致回溯到达的后续匹配故障,则导致匹配在主题(*PRUNE)中的当前起始位置处失败.
当谈到失败的时候,这些有何不同?
任何人都可以提供如何正确实施和使用这些示例吗?