Javascript 正则表达式匹配相似的字符串
我试图通过jquery修改模块的类名,现在我有了这个正则表达式 /模块-\w+/gi 以这种方式使用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"&
//// 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很烂。