I have an autocomplete (jQuery) in which I want to highlight any words in the dropdown that occur in the user input. User enters: "holy water" then both holy and water should be highlighted even if they're not next to each other. So entering multiple words should highlight multiple words if present

I'm trying to do this with just making text bold using a regular expression
_renderItem: function( ul, item ) {
var termWords = this.term.trim().split(" ").join("|"); //if multiple words, split into parts, join back with ors to use in regexp
var regex = new RegExp("({"+termWords+"[s]?}*)([\s\.,])","gi"); // convert to regex, make global and case insensitive
var currentLabel = item.label;
var currentLabel = currentLabel.replace(regex, "<b>$1</b>$2");
var itemHtml = '<a>'+ currentLabel + '</a>';
return $( "<li></li>" )
.data( "item.autocomplete", item )
.html(itemHtml)
.appendTo( ul );
}
Trying this out if I enter "is language", the output expression becomes
/({is|language[s]?}*)([s.,])/gi
But the problem is, none of the text I enter matches and hence isn't highlighted.
Here is a jsfiddle of what I'm trying: http://jsfiddle.net/8tD49/5/ , just note that it's not exactly the same as my own ajax function returns results as seen in the image.
Edit:
Final answer to highlight multiple strings:
_renderItem: function( ul, item ) {
var termWords = this.term.trim().split(" ").join("|"); //if multiple words, split into parts, join back with ors
"(?:"+termWords+"[s]?)*"
var regex = new RegExp("((?:"+termWords+")s?)([\s.,])?","gi");
var currentLabel = item.label;
var currentLabel = currentLabel.replace(regex, "<b>$1</b>$2");
var itemHtml = '<a>'+ currentLabel + '</a>';
return $( "<li></li>" )
.data( "item.autocomplete", item )
.html(itemHtml)
.appendTo( ul );
}