我有一个非常简单的正则表达式,用于在我的应用程序中突出显示搜索词。例如,如果用户在搜索表单中键入“堆栈”,则使用以下正则表达式作为字符串参数preg_match_all
来突出显示结果:
"/\b((stack|stacks))\b/i"
我在用json_encode
用来为我的应用程序输出一些配置选项,包括上面的正则表达式。我在客户端需要这个正则表达式,因为我正在以无限滚动的方式延迟加载分页项,并且我想利用客户端来解析 HTML 以正确突出显示搜索词。
我的 JS 配置对象现在看起来类似于:
config = {
searchRegex: "/\b((stack|stacks))\b/i",
// ... more options
}
如果searchRegex
不是字符串,我不会有问题。它会自动成为一个正则表达式对象,并且该正则表达式中没有 JavaScript 不支持的内容。但是现在,我不得不求助于解析字符串来获取适当的参数RegExp
构造函数获取适当的参数,这包括删除分隔符和获取修饰符。对于所有可能存在的转义字符,这似乎不是一个可行或理智的选择。
我将如何转换searchRegex
为正则表达式对象?