JavaScript正则表达式替换变量

javascript regex replace variable

本文关键字:变量 替换 正则表达式 JavaScript      更新时间:2023-09-26

如何用正则表达式替换字符,但从变量。例:

var separator = '-';
text = text.replace(/[-'s]+/g, separator);

这将用分隔符替换 - 尾随字符,在这种情况下我也是如此。

所以,我需要从变量分隔符中设置这个 - 字符:

var separator = '-';
var regex = '/['+separator+''s]+/g';
text = text.replace(regex, separator);

我该怎么做?谢谢。

使用 RegExp 动态生成正则表达式:

function escapeRegExp(string){
    return string.replace(/([.*+?^=!:${}()|'[']'/''])/g, "''$1");
}
var regex = new RegExp('[' + escapeRegExp(separator) + '''s]', 'g');

escapeRegExp来自正则表达式 - JavaScript |MDN。

注意:你必须转义',然后separator