Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.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
PHP正则表达式preg_grep更改字符串路径_Php_Regex - Fatal编程技术网

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"
}