2017-07-15 28 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