Php正则表达式在斜杠之间获得4个字符串的结果

时间:2014-04-17 15:03:27

标签: php regex

我遇到了正则表达式的麻烦。我正在尝试隔离类似的查询结果:

string1/string2/string3/string4

string1/string2/string3/string4/string5

我想从上面的两个中找到第一个案例,一个链在“string4”之后结束。 我试过这个实际上没有用的正则表达式:

$my_regex = "/^(.+)\/(.+)\/(.+)\/(.+)$/";
if (preg_match($my_regex, $category->name)) {
     ...
}

我错过了什么吗?

2 个答案:

答案 0 :(得分:0)

请勿使用正则表达式,请使用explode()函数

$pieces = explode("/", $your_string); //pieces will be an array
foreach($pieces as $piece) {
   [...]
}

答案 1 :(得分:0)

使用正则表达式,解决方案可能是:

$my_regex = "/^([^\/]+\/){3}[^\/]+$/";
if (preg_match($my_regex, $category->name)) {
     ...
}