使用正则表达式解析键值对

时间:2015-09-21 07:30:46

标签: java regex

我必须从密钥不能包含空格的字符串中捕获键值对。以下是适用于值的约束:

  1. 当用单引号或双引号分隔时,它们可以包含空格。
  2. 当用双引号分隔时,它们可以包含单引号。
  3. 当用单引号分隔时,它们可以包含双引号。
  4. 键值对使用空格/制表符分隔。
  5. 包含要提取的所有键/值对的单个字符串(为简单起见,使用/ for string delimiters):

    /abc="hello how are you" xyz="I'm good. How are you?" pqr='Using " double quotes'/
    

    我想解析上面的字符串并提取名称/值对:

    1. abc="hello how are you"
    2. xyz="I'm good. How are you?"
    3. pqr='Using " double quotes'

1 个答案:

答案 0 :(得分:3)

请参阅Demo

(\w+)=(['"])((?!\2).+?)\2

$1是关键, $3是值

while(match.find()){
//save it to map
}