为什么PHP正则表达式具有周围的定界符?如果将任何模式修饰符作为参数传递给正在使用的任何函数,似乎会更加清楚。
没有技术原因必须如此。
如注释中所述,底层库不需要将标志作为正则表达式的一部分进行传递-实际上,扩展名必须剥离这些标志并将其作为单独的参数传递。
似乎原始的实现者正试图使其看起来像grep / sed / awk / perl / etc,以便那些使用这些工具的程序员更加熟悉。