2017-07-15 110 views

回答

2

正则表达式不会编译。

(\()      # (1) 
(\{)      # (2) 
(\))      # (3) 
(\})      # (4) 
= ) <-- Unbalanced ')' 

你可能意味着拆就[(){}]+

-1

你应该逃避你的反斜线添加或:

String str = "one(two)three{four}";  
String[] arr = str.split("\\(|\\)|\\{|\\}"); 

或者你可以用方括号列表:

String str = "one(two)three{four}";  
String[] arr = str.split("[(){}]"); 

这两个选项都会工作

+1

它只是看起来像,由于代码不格式正确 - 反斜线已经由OP逃脱。 –

+0

@ErwinBolwidt它不仅是代码格式 - 它也是或操作数缺失 - 更新回答 – ronhash

-1

如果你只想捕获上面字符串中的文本部分,你可以使用下面的正则表达式;

(\w+) 

链接测试here

+0

这不是如何分割的作品 - 你需要正则表达式分裂 - 这只会给你(),{,}结果 – ronhash