【发布时间】:2014-10-27 11:27:47
【问题描述】:
我正在尝试在 javascript 中编写一个正则表达式来识别在 json 中找到的任意 javascript 函数的字符串表示,即。像
{
"key": "function() { return 'I am a function'; }"
}
识别开始很容易,但我不知道如何识别结束双引号,因为该函数也可能包含转义的双引号。到目前为止,我最好的尝试是
/"\s*function\(.*\)[^"]*/g
如果函数字符串中没有双引号,则效果很好。 json 键值的结尾将以双引号和随后的逗号或右括号结尾。有没有办法检索所有字符(包括换行符?),直到出现否定模式,例如
not "/s*, and not "/s*}
...或者我是否需要在没有正则表达式的情况下采取完全不同的方法?
这是我正在使用的当前测试数据: http://regexr.com/39pvi
【问题讨论】:
标签: javascript regex