Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 编码点火器路由_Regex_Codeigniter_Regex Negation_Codeigniter Url - Fatal编程技术网

Regex 编码点火器路由

Regex 编码点火器路由,regex,codeigniter,regex-negation,codeigniter-url,Regex,Codeigniter,Regex Negation,Codeigniter Url,我需要编写一个CI路由,以便它加载正确的控制器。我想做的是编写一个排除“features”控制器的路由。以下是我的路线(但第一条不起作用) 我想要发生的是顶行应该加载任何不是features控制器的控制器。但我发现这两条线之间有冲突。我已经尝试将“!features”放在行中的两个不同位置,有引号和没有引号,但我仍然要加载features控制器或产品控制器中的其他方法之一。但不是两者都有。有人能帮忙吗?谢谢。尝试将第一行更改为: $route['(\w{2})/(\w{2})/products/

我需要编写一个CI路由,以便它加载正确的控制器。我想做的是编写一个排除“features”控制器的路由。以下是我的路线(但第一条不起作用)


我想要发生的是顶行应该加载任何不是features控制器的控制器。但我发现这两条线之间有冲突。我已经尝试将“!features”放在行中的两个不同位置,有引号和没有引号,但我仍然要加载features控制器或产品控制器中的其他方法之一。但不是两者都有。有人能帮忙吗?谢谢。

尝试将第一行更改为:

$route['(\w{2})/(\w{2})/products/(?!features$)(\w+)'] = "products/products/$3";
  • (?!foo)
    是一个消极的前瞻,如果它后面的内容与
    foo
    匹配,那么它将失败
  • $
    表示字符串的结尾,用于确保
    功能
    不是较长单词的一部分

\b
是一个单词边界,它匹配
\w
\w
之间的位置,但我将其改为
$
,因为这似乎更适合这种情况。PS:我不知道CI,所以我不确定您是否应该通过在
^
$
中围绕规则来确定您的规则
$route['(\w{2})/(\w{2})/products/(?!features$)(\w+)'] = "products/products/$3";