PHP 正则表达式为什么可以用@开头?

为什么正则表达式用 @ 开头和结尾,中间的斜杠没有转义,但是却可以使用,未报错?

    if (! preg_match('@^https?://@', $url)) {
        die('HTTP(s) only.');
    }
阅读 5.6k
2 个回答

PHP正则的界定符是可以自己定义的,你也可以使用别的,比如#, |之类的

当使用 PCRE 函数的时候,模式需要由分隔符闭合包裹。分隔符可以使任意非字母数字、非反斜线、非空白字符。

经常使用的分隔符是正斜线(/)、hash符号(#) 以及取反符号(~)。
- 分隔符

正则的表带式定界符可以自定义,去看手册吧

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题