2015-11-26 47 views
0

我有一些键值对的 - 键(值)Java正则表达式考虑空值

例如数据 -

name(alex) 
crimehistory 
address(newland) 

我处理由线数据线,想要提取的键值对。如果价值不存在,它应该是空的(犯罪史)。

我现在的正则表达式 -

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

但它可以让我的键值只为名称和地址。我应该在正则表达式中修改什么,以便让我将关键的“犯罪历史”看作是空值?

回答

4

使第二部分可选。

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

DEMO