【发布时间】:2014-06-19 14:44:37
【问题描述】:
我正在尝试匹配这种类型的 JSON 中的键:
define({
key1: "some text: and more",
key2 : 'some text ',
key3: ": more some text",
key4: 'some text:'
});
使用这个正则表达式(?<=\s|{|,)\s*(\w+)\s*:\s?[\"|\']/g。但目前它与最后一个 text: 匹配,也应该被忽略。
一个例子可以看here
您能否给我提示如何修复此正则表达式,使其仅匹配键。
【问题讨论】:
-
了解您正在使用的 RegEx 的风格肯定会有所帮助。我假设 Perl 或 ECMAScript 兼容?
-
你能告诉我们你想用json做什么吗?如果您使用 Javascript,则在 Json 中获取密钥只是一个
for .. in ...循环或Object.keys(json)。使用正则表达式可能是一项繁琐的任务。