请参阅以下要求。
String s1 = "||||(;)||(;;)||(;)";
上述字符串的输出应为:||||||
String s2 = ";;(||)";
上述字符串的输出应为:;;
String s3 = ";;";
上述字符串的输出应为:;;
我正在尝试下面的示例,但s1的输出是;
Pattern p = Pattern.compile("\\(^(.*?)\\)");
Matcher m = p.matcher(filter);
while (m.find()) {
System.out.println(m.group(1));
}
答案 0 :(得分:2)
由于您只能删除大括号内的所有内容,因此可以使用:
str.replaceAll("\([^\)]*\)", "");
答案 1 :(得分:0)
试试这个正则表达式..
public static void main(String[] args) {
String s1 = "||||(;)||(;;)||(;)";
Pattern p = Pattern.compile("(.*?)(?:\\(.*?\\))");
Matcher m = p.matcher(s1);
while (m.find()) {
System.out.println(m.group(1));
}
}
O / P:
case -1 : s1 = "||||(;)||(;;)||(;)";
||||
||
||
case -2 : s1 = ";;(||)";
;;