Javascript正则表达式以模式结尾
Javascript regex ends with pattern
我正试图用javascript编写一个正则表达式,以识别json中任意javascript函数的字符串表示,例如
{
"key": "function() { return 'I am a function'; }"
}
识别开始很容易,但我不知道如何识别结束的双引号,因为函数可能也包含转义的双引号。到目前为止,我最好的尝试是
/"'s*function'(.*')[^"]*/g
如果函数字符串中没有双引号,则效果很好。json键值的末尾将以双引号和随后的逗号或右括号结束。是否有某种方法可以检索所有字符(包括换行符?)直到出现诸如之类的否定模式
not "/s*, and not "/s*}
还是我需要在没有regex的情况下采取完全不同的方法?
以下是我正在使用的当前测试数据:http://regexr.com/39pvi
看起来你想要这样的东西,
"'s*function'(.*')(?:''.|[^''"])*
它还匹配中间的'"
转义双引号。
演示
相关文章:
- Javascript,访问一个主要对象模块模式中的每个对象
- 是否有任何snippet或jQuery插件可以列出easylist.txt模式匹配的DOM中的所有元素
- 试图在引导模式内动态生成图表,得到offsetWidth错误
- 同位素库错误:未捕获错误无布局模式包装生产线8
- 在DOM中查找一个模式并替换它's的内容使用jquery
- 如何缩短MongoDB ObjectId并在Mongoose模式中使用它
- D3.js模式不适用于弧形或圆环图
- Webdriver.io pageObject模式-通过传递参数来定义元素选择器
- 模块模式和这个
- 带有let的JS/EECMAScript6私有字段的模式
- 我是否可以检测到javascript正在被卸载(作为调试模式)
- 执行动态模式弹出
- 注意:wp_enqueue_script调用不正确.在 Wordpress 调试模式下
- 遍历 JSON 对象并检查 URL 是否以某个值结尾
- 如何在 JavaScript 中匹配以输入末尾结尾的最小模式
- 将特定字符串的结尾从模式的末端剥离
- 从键以特定模式结尾的对象中获取所有值
- Javascript正则表达式以模式结尾
- 以字符开头、以数字结尾的字符串的模式匹配
- CryptoJS AES模式总是以=结尾