我想在javascript中使用星號()通配符執行字符串匹配。如果用戶輸入「v v * k」,則:字符串比較中的Asterik通配符
「vivek」應該匹配。
可以有任意數量的星號。我實現了一個簡單的情況,其中星號可以在開始,結束或中間位置。
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;
}
我想使用正則表達式來實現它,以便可以在任何位置使用任意數量的星號。
''vv * k「 - >」vivek「'應該匹配。那是對的嗎?還是你的意思是''viv * k「'? –
*「我希望使用Regex來實現它,以便任何位置都可以使用任意數量的星號。」*如果在流程中遇到*特定*問題,請發佈有關該問題的問題。這個問題太廣泛/模糊。 –