我在PHP '!\d!'
函数中看到了正则表达式preg_match
。这到底是什么?
答案 0 :(得分:16)
使用PCRE功能时,要求图案由分隔符包围。分隔符可以是任何非字母数字,非反斜杠,非空白字符。
在这种情况下,它只是使用!
作为分隔符。如果你想在正则表达式中使用正常的分隔符而不必逃避它,通常会使用它。在这种情况下并不是必需的,因为正则表达式的其余部分只是\d
,但它对于检查路径包含三个以上目录级别之类的东西很方便。您可以使用以下任一项:
/\/.*\/.*\/.*\/ blah blah blah /
或:
!/.*/.*/.*/ blah blah blah !
现在他们还没有经过彻底的测试,并且可能无法完全像宣传的那样完成,但是您应该了解所需的最小转义。
另一个例子(从上面链接的页面)检查字符串是否以http://
标记开头。这两者中的任何一个:
/^http:\/\//
!^http://!
就足够了,但第二个更容易理解。
答案 1 :(得分:5)
!
用作分隔符,\d
匹配单个数字。
与/[0-9]/