我正在匹配路线,所以如果我有一个字符串
"/teacher/jkDfl"
我想检查它是否以
"/teacher/"
我的新手方法是希望这评估为真
preg_match("/^/teacher//", "/teacher/jkDfl")
但我认为问题'/'
出在所有角色上,环顾四周,我什么也没有出现。我可能需要在我的 google-fu 上工作,但我认为这对于使用正则表达式 xp 的人来说很简单。
干杯!
我正在匹配路线,所以如果我有一个字符串
"/teacher/jkDfl"
我想检查它是否以
"/teacher/"
我的新手方法是希望这评估为真
preg_match("/^/teacher//", "/teacher/jkDfl")
但我认为问题'/'
出在所有角色上,环顾四周,我什么也没有出现。我可能需要在我的 google-fu 上工作,但我认为这对于使用正则表达式 xp 的人来说很简单。
干杯!
定界符有些随意,因此,常用的#
定界符会起作用:
preg_match("#^/teacher/#",....
如果你非常喜欢/
's,你可以用 's 来逃避它们\
:
preg_match("/^\/teacher\//",....
... 或者让 PHP 为您执行此操作(适用于用户提供的文字字符串):
preg_match("/^".preg_quote("/teacher/","/")."/",...
您可以使用 # 作为正则表达式分隔符。
preg_match("#^/teacher/#", "/teacher/jkDfl")
您还可以使用正则表达式捕获各种参数(例如 jkDfl),请参阅:
http://php.net/manual/en/function.preg-match.php
在这种情况下:
if (preg_match("#^/teacher/([^?]*)#", $url, $gregs))
{
$teacher = $gregs[1]; // "jkDfl"
....
}
您有两个选择:更改分隔符或转义文字。
不同的分隔符:
preg_match("%^/teacher/%", "/teacher/jkDfl");
转义文字:
preg_match("/^\/teacher\//", "/teacher/jkDfl");
//or
preg_match("/^" . preg_quote("/teacher/", "/") . "/", "/teacher/jkDfl");
它应该是
preg_match("/^\/teacher\//", "/teacher/jkDfl")