我有以下文件,我们应该将其命名为dummyFile.txt
:
{
v1: SuperHero("Superman")
},
{
v1: Number(2)
},
{
v1: BadWord("f**")
}
我想转变为:
{
v1: "Superman"
},
{
v1: 2
},
{
v1: "f**"
}
到目前为止,我尝试了这个脚本:
$contents=file_get_contents('./dummyFile.txt');
$replace=preg_replace('/ \s+\( | \) /',"",$contents);
var_dump($replace);
echo "\n";
但是我得到了输出:
{
v1: SuperHero("Superman")
},
{
v1: Number(2)
},
{
v1: BadWord("f**")
}
输入完全相同。我还试图替换以下行:
$replace=preg_replace('/ \s+\( | \) /',"",$contents);
使用:
$replace=preg_replace('/ (SuperHero|Number|BadWord)\( | \) /',"",$contents);
结果相同。你们有什么想法如何解决它?
以下正则表达式也不起作用:(仅供参考)
$replace=preg_replace('/\w+\( | \) /',"",$contents);
答案 0 :(得分:2)
尝试将preg_replace('/\w+\((.*?)\)/', '$1', $contents)
用于preg_replace
。
您使用\s+
来匹配SuperHero
,但是您应该使用匹配字母的\w+
,而\s
匹配空格。