javascript - 如何在 JSON 文件中正确存储 RegEx 值数组并从 Javascript 中检索它?
问题描述
我在 Javascript 文件中有以下数组变量,旨在传递给Purgecss 以供其whitelistPatterns
选择(请注意,我专门从gulp-purgecss
插件中使用它):
var purgeWLP = [
/^carousel-item.*/,
/collapsing/,
/show/,
];
现在我想将这个和其他项目变量存储在一个外部.json
文件中,以便从不同的地方和文件访问;我尝试过使用以下代码:
{
"wlp": [
"/^carousel-item.*/",
"/collapsing/",
"/show/"
]
}
purgeWLP
但是我遇到了错误并且没有得到我期望的结果,即与javascript 文件中的变量完全相同的结果。
如何在.json
文件中正确存储正则表达式值数组并从 Javascript 中检索它?
解决方案
将它们存储为不带斜线的字符串,并在解析 JSON 字符串后将它们转换回 RegExp 对象:
const json = `{
"wlp": [
"^carousel-item.*",
"collapsing",
"show"
]
}`
const wlp = JSON.parse(json).wlp // or const wlp = require('./project.json').wlp on nodejs
.map(str => new RegExp(str))
console.log(wlp)
为了保存它们,您可以使用JSON.stringify()
每个 RegExp 对象并将其映射到其源字符串(请参阅Emanuel Vintilă 的此评论):
var purgeWLP = [
/^carousel-item.*/,
/collapsing/,
/show/,
];
var result = JSON.stringify(purgeWLP.map(re => re.source));
console.log(result);
推荐阅读
- java - Java 1.1.8 游戏 JKobo 停止使用 Java 1.8.0_251 (NullPointerException)
- reactjs - 如何修复开玩笑错误“‘描述’回调不能返回值”
- html - Using R to scrape a web page?
- java - 如何从Java中的相对目录读取文件(jpg)?
- c# - 来自 C# 的 C++ 嵌套 DLL 函数调用给出 System.AccessViolationException
- vba - 有什么方法可以获取 acSysCmdInitMeter 并将其显示在表单上?
- mysql - 修改实体字段时未更新数据库中的 Spring Boot 表
- python - Selenium(Python)单击先前定位的元素的位置
- python - 安装到 ~/.config 目录
- sql - Teradata - 在存储过程或 etl 替代方案中执行“SHOW SELECT FROM”