javascript正则表达式在JSON中查找字符串

时间:2017-05-12 23:00:00

标签: javascript regex

我希望有人可以帮助解决这个问题。

我在服务器上有一个文本文件,其中包含以下

var templateCache = '{"templateCache":[  {"test":"123"}  ]}';

作为一个文本文件,我们打开它并且旨在剥离

var templateCache ='----';

所以我们可以使用JSON.stringify()将字符串转换为对象。

我们正在使用Rhino.js作为服务器,因此我们只能使用vanilla JS函数将此字符串处理为可用于我们应用程序的内容。

背景故事

该文件包含在我们的小应用程序的main函数中,但是为了操作这组变量,我们打开它,将其转换为JSON对象并对其进行必要的处理,然后将其保存为变量所以它不影响我们的应用程序。但是我无法弄清楚如何去除var templateCache ='';并保留中间内容 并且我不确定通过谷歌寻找什么来使事情井然有序

1 个答案:

答案 0 :(得分:2)

awaited

您正在寻找的正则表达式功能称为'capturing'。它通常在大多数语言中使用/var templateCache = '(.+)';$/m括号实现,包括js。

这个示例正则表达式的作用是它捕获'并记住()括号之间的所有内容,并使其可用于更多处理。

以下是您案例的简单示例:



()




编辑:更改正则表达式以处理文件在json部分之后的同一行上有更多var fileContent = 'var templateCache = \'{"templateCache":[ {"test":"123"} ]}\';' var regex = /var templateCache = '(.+?)';$/m; var matchedGroups = regex.exec(fileContent); console.log('Result String: ' + matchedGroups[1]); console.log(JSON.parse(matchedGroups[1]));个子串的情况。