繁体   English   中英

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

[英]Parsing key value pairs using regular expression

我有一个场景,我必须从键不能包含空格的字符串中捕获键值对。 以下是适用于值的约束:

  1. 当用单引号或双引号分隔时,它们可以包含空格。
  2. 当用双引号分隔时,它们可以包含单引号。
  3. 当用单引号分隔时,它们可以包含双引号。
  4. 键值对使用空格/制表符分隔。

包含要提取的所有键/值对的单个字符串(为简单起见,使用 / 作为字符串分隔符):

/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'

演示

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

$1是关键, $3是价值

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM