Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java RegExp:键值对,其值列表由{和}或引号括起_Java_Regex - Fatal编程技术网

Java RegExp:键值对,其值列表由{和}或引号括起

Java RegExp:键值对,其值列表由{和}或引号括起,java,regex,Java,Regex,我正在寻找一个正则表达式,它将捕获以下内容: (\w+)|((?:\\.|[^=,]+)*)=("(?:\\.|[^"\\]+)*"|(?:\\.|[^,"\\\{\}]+)*) 钥匙 键=值 key=“some\”value\”转义 键={value1,value2} 键/值对将由字符串连接,因此: key,key1=value1,key2={foo,bar},key3="some description for \"foo\"",... 目前,我有以下几点: (\w+)|((?:\\.|

我正在寻找一个正则表达式,它将捕获以下内容:

(\w+)|((?:\\.|[^=,]+)*)=("(?:\\.|[^"\\]+)*"|(?:\\.|[^,"\\\{\}]+)*)
  • 钥匙
  • 键=值
  • key=“some\”value\”转义
  • 键={value1,value2}
  • 键/值对将由字符串连接,因此:

    key,key1=value1,key2={foo,bar},key3="some description for \"foo\"",...
    
    目前,我有以下几点:

    (\w+)|((?:\\.|[^=,]+)*)=("(?:\\.|[^"\\]+)*"|(?:\\.|[^,"\\\{\}]+)*)
    
    它捕获(1)、(2)和(3),但不捕获(4)

    正则表达式将用Java解析


    有什么想法吗?

    您可以使用这个长正则表达式:

    (\b\w+)(?:=((?:\{[^}]+\}|"[^"\\]*(?:\\.[^"\\]*)*"|\w+)))?