如果我有这样的字符串:
$str = "blah blah blah (a) (b) blah blah blah";
我如何正则表达式输出为:
$str = "blah blah blah blah blah blah";
它需要能够在字符串中支持任意数量的括号对。
答案 0 :(得分:39)
这应该可以解决问题:
$str = trim(preg_replace('/\s*\([^)]*\)/', '', $str));
请注意,此答案也会删除括号周围的空格,与其他建议不同。
如果字符串以括号内的部分开头,则修剪以及后面的空格不会被删除。
答案 1 :(得分:4)
试试这个:
preg_replace('/\([^)]*\)|[()]/', '', $str)
答案 2 :(得分:1)
$string = preg_replace('~\(.*?\)~', '', $string);