正则表达式以|开头是什么意思?

时间:2013-01-19 21:22:40

标签: php regex

以下是一个例子:

return preg_match('|^http(s)?://[a-z0-9-]+(.[a-z0-9-]+)*(:[0-9]+)?
                  (/.*)?$|i', $url);

这是另一个:

preg_match_all("|<[^>]+>(.*)</[^>]+>|U", "<b>example: </b><div align=left>this is a test</div>", $out, PREG_PATTERN_ORDER);

不是|正则表达式中的OR?正则表达式以|开头是什么意思?

1 个答案:

答案 0 :(得分:9)

他将它用作正则表达式分隔符,这是一个非常糟糕的主意,因为它阻止它被用作OR运算符。

虽然在处理URL或其他任何经常使用斜杠的地方时不使用/是有意义的(因为每个普通/必须以\/转义为# case)通常使用例如更好~或{{1}}作为分隔符,因为它们是正则表达式中的正常字符。