java正则表达式考虑空值
我有一些键值对作为-key(value) 示例数据-java正则表达式考虑空值,java,regex,Java,Regex,我有一些键值对作为-key(value) 示例数据- name(alex) crimehistory address(newland) 我正在逐行处理数据,希望获取键值对。如果值不存在,则应为null(crimehistory) 我当前的正则表达式是- String pattern = "^(?<key>.*?)\\((?<value>.*)\\)"; String pattern=“^(?.*?\ \(?.*)\”; 但它只为name和address获取键值。我应
name(alex)
crimehistory
address(newland)
我正在逐行处理数据,希望获取键值对。如果值不存在,则应为null(crimehistory)
我当前的正则表达式是-
String pattern = "^(?<key>.*?)\\((?<value>.*)\\)";
String pattern=“^(?.*?\ \(?.*)\”;
但它只为name和address获取键值。我应该在正则表达式中修改什么,以便它获得具有空值的键“crimehistory”?使第二部分成为可选部分
^(?<key>.*?)(?:\\((?<value>.*)\\))?$
^(?.*?(:\\(?.*)\)$
将第二部分设置为可选部分
^(?<key>.*?)(?:\\((?<value>.*)\\))?$
^(?.*?(:\\(?.*)\)$