键值对的正则表达式
Regex for key value pair
我有一个正则表达式
(\w+)\s*:((?:\w+[-+*%])*?\w+)$
匹配键值对,像这样 -
key:value
key2:value2
但是正则表达式 匹配 失败 如果键和值在像这样的引号内 -
"key":value
"key2":"value2"
可以进行哪些修改以使正则表达式也匹配引号内的键和值?
您可以在 key-value
对的任一侧使用可选引号,如下所示:
/("?)\b(\w+)\s*:\s*("?)((?:\w+[-+*%])*?\w+)\b/g
记下捕获空字符串或双引号的组 ("?)
。另一方面,我们使用该组的反向引用
作为收盘价。
我有一个正则表达式
(\w+)\s*:((?:\w+[-+*%])*?\w+)$
匹配键值对,像这样 -
key:value
key2:value2
但是正则表达式 匹配 失败 如果键和值在像这样的引号内 -
"key":value
"key2":"value2"
可以进行哪些修改以使正则表达式也匹配引号内的键和值?
您可以在 key-value
对的任一侧使用可选引号,如下所示:
/("?)\b(\w+)\s*:\s*("?)((?:\w+[-+*%])*?\w+)\b/g
记下捕获空字符串或双引号的组 ("?)
。另一方面,我们使用该组的反向引用 作为收盘价。