我需要用空括号替换双括号中的子串。我用:
source = source.replaceAll("\(.+?\)", "");
删除单个括号内的子串。相反,当我尝试使用双括号内的子字符串时,整个子字符串被删除但最后一个')'仍然存在 这有什么不对?
提前致谢。
答案 0 :(得分:1)
source.replaceAll("\(\([^\(]*\)\)", "");
?
(未经测试)
答案 1 :(得分:1)
+?意味着您的匹配将使最少字符数量成为可能,这意味着它将获取内部带括号的语句。
尝试:
source = source.replaceAll("\(?\(.+?\)\)?", "");
我刚刚使用\(?
和\)?
包裹你的正则表达式。