正则表达式封装php

Liz*_*ard 2 php regex

使用'/'或'#'作为正则表达式封装的优缺点有何不同

例如

'/' = preg_match('/MYSEARCH}(.+)ENDMYSEARCH/s',$out,$matches);

'#' = preg_match('#MYSEARCH}(.+)ENDMYSEARCH#s',$out,$matches);
Run Code Online (Sandbox Code Playgroud)

谢谢!

Pas*_*TIN 7

对PHP/PCRE唯一重要的是你必须在开头和结尾使用相同的字符.

对你来说重要的是逃避:在正则表达式中,如果你想使用它,你必须逃脱分隔符.

例如,要匹配URL的一部分,使用/作为分隔符,您的正则表达式可能如下所示:

'/^http:\/\/www/'
Run Code Online (Sandbox Code Playgroud)

使用/as分隔符,你必须逃避正则表达式内的斜杠 - 不容易,而且看起来不太好.

另一方面,使用#as分隔符:

'#http://www#'
Run Code Online (Sandbox Code Playgroud)

更容易写和读,不是吗?


取决于你的需要和/或偏好,你可以使用你想要的任何角色 - 例如,我有时会看到' !'或' ~'.