PHP正则表达式preg_grep更改字符串路径

I have array:

$array = array(
    "C:/path/something1/something2/dir",
    "C:/path1/something/something2/dir2
extdir",
    "C:/path2/something/dir2
extdir
ext",
    "C:/path/something3/something6/something7/dir5
extdir2
ext"
);

All that is before the last sign "/" with him to disappear.

I want something like that:

$array = array(
    "dir",
    "dir2
extdir",
    "dir2
extdir
ext",
    "dir5
extdir2
ext"
);

I need regex

$new_array = preg_grep("/regex/", $array);

I have no idea how to write a regex.

I dont want like that:

foreach($array as $key => $val) {
    $e = explode("/", $val);
    $new_array[] = end($e);
}

preg_grep() does not change/replace the values, it returns the items that match the given regular expression. If you must use regex and replace the values, take a look at preg_replace() instead:

$array = preg_replace('~.*/~', '', $array);
var_dump($array);

Output

array(4) {
  [0]=> string(3) "dir"
  [1]=> string(12) "dir2
extdir"
  [2]=> string(17) "dir2
extdir
ext"
  [3]=> string(18) "dir5
extdir2
ext"
}