KmpMatch = function(pattern, ignoreCase)
{
var overlap = [ -1 ] ;
if(ignoreCase){ //fck without this . it is a bug in ignore case.here
pattern = pattern.toLowerCase();
}
for (var i = 0; i <>
{
overlap.push(overlap[i] + 1);
while (overlap[ i + 1 ] > 0 &&
pattern.charAt(i) != pattern.charAt(overlap[ i + 1 ] - 1)){
overlap[ i + 1 ] = overlap[ overlap[ i + 1 ] - 1 ] + 1;
}
}
this._Overlap = overlap;
this._State = 0;
this._IgnoreCase = ( ignoreCase === true );
if (ignoreCase)
this.Pattern = pattern.toLowerCase();
else
this.Pattern = pattern;
}
Mon, 11/03/2008 - 08:24
#1