PHP正则表达式preg_grep更改字符串路径
我有一个数组:PHP正则表达式preg_grep更改字符串路径,php,regex,Php,Regex,我有一个数组: $array = array( "C:/path/something1/something2/dir", "C:/path1/something/something2/dir2\nextdir", "C:/path2/something/dir2\nextdir\next", "C:/path/something3/something6/something7/dir5\nextdir2\next" ); 所有这些都是在最后一个符号“/”和他一起消
$array = array(
"C:/path/something1/something2/dir",
"C:/path1/something/something2/dir2\nextdir",
"C:/path2/something/dir2\nextdir\next",
"C:/path/something3/something6/something7/dir5\nextdir2\next"
);
所有这些都是在最后一个符号“/”和他一起消失之前
我想要这样的东西:
$array = array(
"dir",
"dir2\nextdir",
"dir2\nextdir\next",
"dir5\nextdir2\next"
);
foreach($array as $key => $val) {
$e = explode("/", $val);
$new_array[] = end($e);
}
我需要正则表达式
$new_array = preg_grep("/regex/", $array);
我不知道怎么写正则表达式
我不想这样:
$array = array(
"dir",
"dir2\nextdir",
"dir2\nextdir\next",
"dir5\nextdir2\next"
);
foreach($array as $key => $val) {
$e = explode("/", $val);
$new_array[] = end($e);
}
不更改/替换值,它返回与给定正则表达式匹配的项。如果必须使用正则表达式并替换值,请查看:
输出
array(4) {
[0]=> string(3) "dir"
[1]=> string(12) "dir2\nextdir"
[2]=> string(17) "dir2\nextdir\next"
[3]=> string(18) "dir5\nextdir2\next"
}
不更改/替换值,它返回与给定正则表达式匹配的项。如果必须使用正则表达式并替换值,请查看:
输出
array(4) {
[0]=> string(3) "dir"
[1]=> string(12) "dir2\nextdir"
[2]=> string(17) "dir2\nextdir\next"
[3]=> string(18) "dir5\nextdir2\next"
}