如何在字符串上preg_replace模式

Abh*_*kat 2 php regex preg-replace

这就是我到现在所做的事情:

<?php 
    $patterns= '/staff_(?)/';
    $replacements= '';
    $string = 'staff_name as user_name';
    $string2 = 'staff_phone as user_phone';
    echo preg_replace($patterns, $replacements, $string)."<br>";
    echo preg_replace($patterns, $replacements, $string2);
?>
Run Code Online (Sandbox Code Playgroud)

期望输出是:

"staff_name as user_name"应返回"name"

"staff_phone as user_phone"应该返回"phone"

Sha*_*ran 5

正则表达方式....

<?php
$str='staff_name as user_name';
echo $str = preg_replace("~staff_(.*?)_~","", $str); //"prints" name
$str='staff_name as user_phone';
echo $str = preg_replace("~staff_(.*?)_~","", $str); //"prints" phone
Run Code Online (Sandbox Code Playgroud)

Demo

在此输入图像描述

使用PHP本机函数的非正则表达方式..

<?php
$str='staff_name as user_name';
$name_arr = explode('_',$str);
echo $name = array_pop($name_arr); //"prints" name

$str='staff_name as user_phone';
$phone_arr = explode('_',$str);
echo $phone = array_pop($phone_arr); //"prints" phone
Run Code Online (Sandbox Code Playgroud)

Demo