gpt4 book ai didi

javascript - Nodejs 中的无效正则表达式

转载 作者:行者123 更新时间:2023-12-02 16:09:49 26 4
gpt4 key购买 nike

我有一个 NodeJS 中 CORS 配置的代码。如下:

var allowedOrigin = new RegExp('^https?://(' + config.get('http:allowedOrigins').join('|') + ')(:\\d+)?(/.*)?$');

它给出了这个错误

SyntaxError: Invalid regular expression: /^https?://(*.dev.examplewebsite.com|0.0.0.0|192.168.1.1|.*)(:\d+)?(/.*)?$/: Nothing to repeat
at new RegExp (native)
at Object.<anonymous> (/Users/yagiz/Desktop/example/project-api/src/lib/handlers/cors.js:4:21)

最佳答案

这里的问题是您需要对连接的字符串中的特殊字符(例如点)进行转义。

查找here用于转义正则表达式字符串的函数:

RegExp.escape= function(s) {
return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
};

var allowedOrigin = new RegExp(
'^https?://(' +
config.get('http:allowedOrigins').map(RegExp.escape).join('|') +
')(:\\d+)?(/.*)?$'
);

关于javascript - Nodejs 中的无效正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30332145/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com