I want to perform string matching using asterisk() wildcard in javascript. If user enters "vv*k" then:
"vivek" should match.
There can be any number of asterisks. I implemented for a simple case where asterisk can be either at the starting,ending or middle position.
function matchString(pattern,columnValue)
{
if(pattern.indexOf('*')>-1){
if (pattern[0] == '*')
{
return columnValue.endsWith(pattern.substr(1,pattern.length - 1)) ? true:false
}
else if (pattern[pattern.length - 1] == '*')
{
return columnValue.startsWith(pattern.substr(0,pattern.length -1)) ? true:false
}else{
var stringArray = pattern.split('*')
return columnValue.startsWith(stringArray[0]) && columnValue.endsWith(stringArray[stringArray.length-1]) ? true:false
}
}else{
return (columnValue.indexOf(pattern)>-1)
}
return false;
}
I want to implement it using Regex so that any number of asteriks can be used at any position.