PHP 正则表达式 preg_match 来自特定函数名称的参数
PHP Regex preg_match arguments from a specific function name
假设我有
$funcName = 'FooBar';
$myFuncString = $funcName.'("Arg1, Arg2")';
我怎么能preg_match()
所以它returns "Arg1, Arg2"
(有双引号没有$funcName
?
我试过:
$pattern = '/(?:'.$funcName.'|\".*?)\"/';
preg_match($pattern, myFuncString, $matches);
它returns"Arg1, Arg2"
即使$funcName
不匹配。有什么建议吗?
这应该有效:
$funcName = 'FooBar';
$myFuncString = $funcName.'("Arg1, Arg2")';
//$funcName = 'NooBar';
$pattern = '/'.$funcName.'\("(.*)"\)/';
$matches = preg_match($pattern, $myFuncString, $res);
echo $res[1];
我必须将 $res
添加到具有结果的 preg_match 并更正模式。
演示:http://sandbox.onlinephpfunctions.com/code/6de9d1236b82339199a2c64e914b5ca5b80e4e77
假设我有
$funcName = 'FooBar';
$myFuncString = $funcName.'("Arg1, Arg2")';
我怎么能preg_match()
所以它returns "Arg1, Arg2"
(有双引号没有$funcName
?
我试过:
$pattern = '/(?:'.$funcName.'|\".*?)\"/';
preg_match($pattern, myFuncString, $matches);
它returns"Arg1, Arg2"
即使$funcName
不匹配。有什么建议吗?
这应该有效:
$funcName = 'FooBar';
$myFuncString = $funcName.'("Arg1, Arg2")';
//$funcName = 'NooBar';
$pattern = '/'.$funcName.'\("(.*)"\)/';
$matches = preg_match($pattern, $myFuncString, $res);
echo $res[1];
我必须将 $res
添加到具有结果的 preg_match 并更正模式。
演示:http://sandbox.onlinephpfunctions.com/code/6de9d1236b82339199a2c64e914b5ca5b80e4e77