php 正则表达式中的#号

最近在研究discuz 的源码的时候发现了其中的一个正则表达式大致是这么写的preg_match(‘#^[a-z]#’,"");

一开始一下子懵了,这个是先匹配#吗?那么^不是表示以什么开始吗?这不矛盾了.于是去官网看了下关于preg_match的使用方法,找了几个例子大概都是:

if (preg_match("/web/i", "PHP is the web scripting language of choice.")) {
    echo "A match was found.";
} else {
    echo "A match was not found.";
}

其中对pattern的定义都是以//来包起来的,后来进过测试,发现##是可以替代//的,这样一解释,就一切都明白了,学习的东西越深入,我们就会发现我们其实不知道的东西越多,知道的东西圈越大,他周围未知的边长就越长。



原文地址:https://www.cnblogs.com/itdreamfly/p/12871638.html