我希望有人可以帮助解决这个问题。
我在服务器上有一个文本文件,其中包含以下
var templateCache = '{"templateCache":[ {"test":"123"} ]}';
作为一个文本文件,我们打开它并且旨在剥离
var templateCache ='----';
所以我们可以使用JSON.stringify()将字符串转换为对象。
我们正在使用Rhino.js作为服务器,因此我们只能使用vanilla JS函数将此字符串处理为可用于我们应用程序的内容。
背景故事
该文件包含在我们的小应用程序的main函数中,但是为了操作这组变量,我们打开它,将其转换为JSON对象并对其进行必要的处理,然后将其保存为变量所以它不影响我们的应用程序。但是我无法弄清楚如何去除var templateCache ='';并保留中间内容 并且我不确定通过谷歌寻找什么来使事情井然有序
答案 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]));
个子串的情况。