如何进行PHP正则表达式搜索并另存为变量?

如何进行PHP正则表达式搜索并另存为变量?,php,regex,.htaccess,Php,Regex,.htaccess,我的htaccess中有以下行。我想将其转换为PHP,但我不知道如何实现这一点 RewriteRule^sessions/([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)/?$sessions.php?session=$1和part=$2和activity=$3和step=$4和%{QUERY STRING}[L] 如何匹配此会话/([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)/([a-zA-Z0-9-

我的htaccess中有以下行。我想将其转换为PHP,但我不知道如何实现这一点

RewriteRule^sessions/([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)/?$sessions.php?session=$1和part=$2和activity=$3和step=$4和%{QUERY STRING}[L]

如何匹配此
会话/([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)/
,并将正则表达式区域作为php变量应用

谢谢

这个

$strUrl = "sessions/abc/def/gh/ijk/";
if(preg_match("/^sessions\/([a-zA-Z0-9-]+)\/([a-zA-Z0-9-]+)\/([a-zA-Z0-9-]+)\/([a-zA-Z0-9-]+)\//", $strUrl , $matched)) {
  print_r($matched);
} else {
    echo "No matches.";
}

然后是$matched[1]、$matched[2]、$matched[3]、$matched[4]。

我一直在玩
preg_match
,但我似乎能让它工作。我一直收到一个未知的修饰符错误。您可能忘记在路径中转义
/
,例如
/sessions\/([……
)。原始问题中的一个:
sessions/([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)/
我尝试转义
/
,但没有任何帮助。例如
pregu($uri,'sessions/([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)/([a-zA-Z0-9-])/([a-zA-Z0-9-]+)/([a-zA-Z0-Z0-9-]+)/([a-zA-Z0-9-])/([a-zA-Z0-Z0-9-])/([a-zA-Z0-Z0-9-])/)/([a-zA-zA-Z0-Z0-9-])/)/)/([a-zA-Z0-Z0-9-])/。