给定:
var countries = ["Afghanistan", "United Kingdom", "Albania", "United Arab Emirates"];
var regex = new RegExp(countries.join("|"), "i");
$wikiDOM.find(".infobox td div li a").each(function(){
var newtext = $(this).text();
//console.log(newtext);
console.log(newtext.match(regex));
});
如果我这样做:
console.log(newtext);
我得到:
White
Asian
Black
Mixed
Arab
1]
United Kingdom
England and Wales
^
Legislative Grand Committee
所以我们确实有United Kingdom
的匹配,但当我运行console.log(newtext.match(regex));
控制台给了我null null null...
我正在寻找字符串与数组中字符串的匹配项,如果有匹配项,则在控制台中输出该匹配项。在这种情况下,它会United Kingdom
这是一个jsFiddle
我通过.each()
获得的列表确实给了我我们在数组中的英国,但 htmlUnited Kingdom
因此我这样做了:
$wikiDOM.find(".infobox td div li a").each(function(){
var newtext = $(this).html();
var newtextStriped = newtext.replace(/ /g,' ');
if( $.inArray(newtextStriped, countries) != -1){
console.log(newtextStriped);
}
});