Javascript正则表达式匹配字符串' c ++'

时间:2014-12-17 20:26:38

标签: javascript regex

我正在编写像这样的JavaScript代码:

var regex = new RegExp(["^",skill,"$"].join(""),"i");

当技能=' c ++'时,它报告错误"语法错误:无效的正则表达式:/ ^ c ++ $ /"。

关于如何以正确的方式编写正则表达式的任何建议,以处理像#34; +"?

1 个答案:

答案 0 :(得分:0)

您必须从"技能"中转义任何特殊的正则表达式字符。字符串。

var escapedSkill = skill.replace(/(\W)/g, '\\$1');
var regex = new RegExp('^' + escapedSkill + '$', 'i');
regex; // => /^c\+\+$/i