下面是一个例子:
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在正则表达式?当一个正则表达式以一个|开头是什么意思?
他使用它作为正则表达式分隔符,这是一个非常糟糕的主意,因为它阻止了它被用作或操作符。
虽然在处理url或其他经常使用斜杠的地方不使用/
是有意义的(因为在这种情况下,每个正常的/
都必须转义为'/
),但通常使用#
或~
作为分隔符要好得多,因为这些是正则表达式本身的正常字符。