2015-11-26 46 views
0

我有一些鍵值對的 - 鍵(值)Java正則表達式考慮空值

例如數據 -

name(alex) 
crimehistory 
address(newland) 

我處理由線數據線,想要提取的鍵值對。如果價值不存在,它應該是空的(犯罪史)。

我現在的正則表達式 -

String pattern = "^(?<key>.*?)\\((?<value>.*)\\)"; 

但它可以讓我的鍵值只爲名稱和地址。我應該在正則表達式中修改什麼,以便讓我將關鍵的「犯罪歷史」看作是空值?

回答

4

使第二部分可選。

^(?<key>.*?)(?:\\((?<value>.*)\\))?$ 

DEMO