两边带有感叹号的正则表达式 ('!\d!')

2024-05-25

我见过正则表达式'!\d!'PHP 内部preg_match功能。这到底是什么?


来自PHP PCRE 文档 http://php.net/manual/en/regexp.reference.delimiters.php:

使用 PCRE 函数时,要求模式用分隔符括起来。分隔符可以是任何非字母数字、非反斜杠、非空格字符。

在这种情况下,它只是使用!作为分隔符。如果您想在正则表达式本身中使用正常的分隔符而不需要转义它,通常会使用它。在这种情况下并不是真的必要,因为正则表达式的其余部分只是\d,但它对于检查路径是否包含三个以上目录级别之类的事情非常有用。您可以使用以下任一方法:

/\/.*\/.*\/.*\/ blah blah blah /

or:

!/.*/.*/.*/ blah blah blah !

现在它们还没有经过彻底的测试,并且可能不会完全像广告中那样工作,但是您应该了解所需的最小转义的总体思路。

另一个示例(来自上面链接的页面)是检查字符串是否以http://标记。这两者之一:

/^http:\/\//
!^http://!

就足够了,但第二个更容易理解。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

两边带有感叹号的正则表达式 ('!\d!') 的相关文章

随机推荐