Javascript正则表达式替换多个模式

时间:2016-07-05 13:05:13

标签: javascript regex

我正在尝试替换每个看起来像这样的模式:

" - ", // space dash space
" ", // space
"*", // asterisk

并用空格替换它。

我试过了:

const name = "Test - number one*"
const regExName = name.replace((\s-\s)|(-)|(\s)|(\*)/g, '_');

显然是错的......请帮助吗?

2 个答案:

答案 0 :(得分:2)

只需使用此模式:

/ - | |\*/g

Online Demo

这是完整的代码:

const name = "Test - number one*"
const regExName = name.replace(/ - | |\*/g, '_');
document.write(regExName);

答案 1 :(得分:1)

您缺少前导/

name.replace(/(\s-\s)|(-)|(\s)|(\*)/g, '_');
             ^ here