为什么不将prepClass分配给带有下划线而不是非alpha字符的字符串selectorClass?我需要将其更改为什么?
var regex = new RegExp("/W/", "g");
var prepClass = selectorClass.replace(regex, "_");
最佳答案
有两件事:
如果使用RegExp
构造函数,则不需要斜杠,您可能会将其与RegExp
文字的语法混淆。
您要匹配\W
字符类。
以下将起作用:
var regex = new RegExp("\\W", "g");
RegExp
构造函数接受包含模式的字符串,请注意,您应该对斜杠进行两次转义,以便在字符串中获得单个斜杠和W("\W"
)。或者,您可以简单地使用文字符号:
var regex = /\W/g;
推荐阅读:
Regular Expressions (MDC)