[英]php preg_match '/' with regex
我正在匹配路线,所以如果我有一个字符串
"/teacher/jkDfl"
我想检查一下是否以
"/teacher/"
我的新手方法希望这能评估为真
preg_match("/^/teacher//", "/teacher/jkDfl")
但是我认为问题出在所有'/'
字符上,到处都看不到我。 我可能需要在Google-fu上工作,但是我认为对于正则表达式中具有xp的人来说,这很简单。
干杯!
分隔符在某种程度上是任意的,因此,常用的#
分隔符将起作用:
preg_match("#^/teacher/#",....
如果您非常喜欢/
,则可以使用\\
进行转义:
preg_match("/^\/teacher\//",....
...或让PHP为您做到这一点(适用于用户提供的文字字符串):
preg_match("/^".preg_quote("/teacher/","/")."/",...
您可以使用#作为正则表达式分隔符。
preg_match("#^/teacher/#", "/teacher/jkDfl")
您还可以使用正则表达式捕获各种参数(例如jkDfl),请参见:
http://php.net/manual/zh/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")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.