Javascript 正则表达式匹配相似的字符串

Javascript 正则表达式匹配相似的字符串,javascript,regex,Javascript,Regex,我试图通过jquery修改模块的类名,现在我有了这个正则表达式 /模块-\w+/gi 以这种方式使用 //// Removes all module-xxxx classes var classes = $target[0].className.replace(/module-\w+/gi, ''); 到目前为止,这一切都很好,但是我必须改变我的模块类的结构,使其类似于此 <div class="module"> <div class="module-header"&

我试图通过jquery修改模块的类名,现在我有了这个正则表达式

/模块-\w+/gi

以这种方式使用

//// Removes all module-xxxx classes
var classes = $target[0].className.replace(/module-\w+/gi, '');
到目前为止,这一切都很好,但是我必须改变我的模块类的结构,使其类似于此

<div class="module">
    <div class="module-header">
         <div class="module-header-content module-blue ..."></div>
    </div>
    <div class="module-content"></div>
</div>

这个。。。只是意味着可能还有其他类名

我需要更改正则表达式,使其只匹配模块蓝色(可以是模块默认值、模块绿色、模块任何内容,但始终采用模块颜色名称)而不匹配模块标题内容

jquery选择的类名为:moduleheader-content-module-blue

var classes = $target[0].className.replace(/\bmodule-\w+(?!-)\b/gi, '');
对于单词边界,表达式必须匹配一整组
模块-
,后跟至少一个不带破折号的字母


所以,任何
模块-$color
模块-$wordNoDash
?所以你要求匹配所有只有一个破折号的
模块
类?我在上面编辑过,只是为了清楚,通过jquery,我选择了,所以我不会尝试匹配html结构中的每个模块-XXXXX,而只是匹配所选类中的模块颜色名称。等等,当您有jquery选择器时,为什么要使用正则表达式匹配类名?我正在修改类字符串(通过移除模块蓝色,并替换为新的颜色定义模块黄色)我不确定这是否会在他的第二行中得到解决,是吗?这当然有效。谢谢你,我的正则表达式Kung Fug,Kung很烂。