PHP preg_match 使用“或”分隔符

oti*_*nai 0 php delimiter preg-match

我正在尝试匹配 url 的某个字符串,preg_match但我需要匹配一个或另一个字符串,但我找不到正确的语法。

我现在用的是:

$is_url_en = preg_match ("/\b95\b/i", $iframeurl);
Run Code Online (Sandbox Code Playgroud)

这将在 url 中搜索数字“95”。但是我也想匹配“en”,但我不知道如何使用“或”分隔符。我在某处看到以下内容:

$is_url_en = preg_match ("/\b95\b/i|/\ben\b/i", $iframeurl);
Run Code Online (Sandbox Code Playgroud)

......但它不起作用。请问有什么提示吗?

Joh*_*ica 5

不要重复//i。那些分隔正则表达式,因此它们应该只出现一次。

$is_url_en = preg_match ("/\b95\b|\ben\b/i", $iframeurl);
Run Code Online (Sandbox Code Playgroud)

然后,您可以将其简化为:

$is_url_en = preg_match ("/\b(95|en)\b/i", $iframeurl);
Run Code Online (Sandbox Code Playgroud)