正则表达式需要做相反的事情

时间:2013-06-13 03:53:25

标签: jquery regex

我有这个正则表达式,如何更改它以便删除所有错误的内容?我试过放else {$(this).remove();},但没有得到所需的结果。感谢。

function SortFabricsFunction(){

$('#Fabric_'+ItemName).children('img').each(function () {
    var TitleIs = [this.alt];
    var TitleIs = this.alt.split(/,\s?/)
    var regex = new RegExp('^(' + [ItemGroup].join('|') + ')$');
    for(var i=0; i<TitleIs.length; i++){
        if (regex.test(TitleIs[i])) {$(this).remove();}
    }//for
});//each
}//function

1 个答案:

答案 0 :(得分:1)

尝试

var ItemName = '1', ItemGroup = 'main, weave';

var regexp = new RegExp('(^|,\\s*)(' + ItemGroup.split(/,\s*/).join('|') + ')($|,)', 'i');
$('#Fabric_'+ItemName).children('img').filter(function(){
    return !regexp.test($.trim(this.alt))
}).remove();

演示:Fiddle

在演示中,它删除了两个imgs,因为有两个im altweave