我见过正则表达式'!\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(使用前将#替换为@)