我需要在字符串末尾的括号中替换所有出现的内容。但我不希望发生在字符串内的任何事情。例如,如果我有一个字符串“Special(NOT)Value(SV)”,那么preg_replace应该只替换结束括号,因此结果应为“Special(NOT)Value”
答案 0 :(得分:1)
您是否尝试过使用爆炸功能?您可以定义模式,然后可以连接数组...... http://php.net/manual/en/function.explode.php
答案 1 :(得分:0)
美元字符匹配字符串的结尾。下面的正则表达式应该做你想要的,除非你可以在括号内括号,在这种情况下你应该更准确地定义你期望获得答案的内容。 (现在我会让你了解你的第一次尝试发生了什么以及出了什么问题)
<?
$str = 'Special (NOT) Value (SV)';
$str = preg_replace('/[(][^)]*[)]([^(]*$)/', '$2', $str);
echo $str."\n";
?>
答案 2 :(得分:0)
如果查看the manual,您会看到可以使用$
字符断言一行的结尾。因此,blah.*?$
会在字符串中找到blah
的最后一次出现。
这不是完整的答案,但应该足以让你前进。