【发布时间】:2019-12-25 03:01:54
【问题描述】:
我有一些通过 JSON 对象传给我的正则表达式,如下所示:
{
config: {
regEx: "/^$/"
}
}
我正在尝试将上述字符串转换为正则表达式,如下所示:
const re = new RegExp(config.regEx);
这行得通,但RegExp 是~有帮助~ 转义/ 字符并返回//^$//(不是/^$/)
如何在不转义 / 的情况下最好地将字符串转换为正则表达式?
编辑:我无法控制返回的原始字符串。就是这样。
【问题讨论】:
-
修剪那些,
RegExp构造函数假定表达式字面上没有分隔符。所以你需要传递一个"^$"字符串。 -
它没有转义
/。它不需要:/在正则表达式中并不特殊。 -
正斜杠
/是该语言的 JavaScript 正则表达式语法的一部分。它不是正则表达式的一部分。您不应该将它存储在您的对象中,或者在构造正则表达式之前将其从字符串中删除。 -
如果你的正则表达式中有一个
/,但你不想匹配文字/,你需要事先去掉那个/。 -
题名看不懂;听起来您在问如何从字符串中删除第一个和最后一个字符,而不是“保留\”?
标签: javascript json regex