初学新手问个正则的问题
程序员文章站
2022-06-12 17:30:17
...
研究好半天也没弄对
将
/aaa/bbb/ccc
拆分成
/aaa
/bbb
/ccc
我写的不对啊
preg_match('/(\/\w+)+/i', '/aaa/bbb/ccc', $matches);
将
/aaa/bbb/ccc
拆分成
/aaa
/bbb
/ccc
我写的不对啊
preg_match('/(\/\w+)+/i', '/aaa/bbb/ccc', $matches);
回复讨论(解决方案)
一定要用正则吗,我觉得用explode函数也不错呀。
$str = '/aaa/bbb/ccc';$matches = explode('/',$str); //explodeecho '/'.$matches[1]; // /aaaecho '/'.$matches[2]; // /bbbecho '/'.$matches[3]; // /cccpreg_match_all('@\/[a-z]{3}@i', $str, $matches); //正则echo $matches[0][0]; // /aaaecho $matches[0][1]; // /bbbecho $matches[0][2]; // /ccc
要这样写
preg_match_all('/(\/\w+)/i', '/aaa/bbb/ccc', $matches);
$matches[1] 即是
3楼正解,是要匹配所有符合要求的,因此要用函数preg_match_all。
个人觉得没有必要去用正则,explode()完全可以做到你想要的结果,何必要舍近求远呢,当然也得看实际情况....