diff --git a/util/stringMatch/SundayMatch.go b/util/stringMatch/SundayMatch.go index 1cacbcb..6906b22 100644 --- a/util/stringMatch/SundayMatch.go +++ b/util/stringMatch/SundayMatch.go @@ -6,17 +6,17 @@ package stringMatch -func ShiftTable(modeString string) []int { +func ShiftTable(mode string) []int { shiftTable := make([]int, 256) //一开始设置所有的字符匹配不上向右移动大小为:模式字符串长度 + 1(因为要移动到下一个字符的后一位) for i := range shiftTable { - shiftTable[i] = len(modeString) + 1 + shiftTable[i] = len(mode) + 1 } //设置模式字符串中每一个字符的移动长度. - for i := range modeString { - shiftTable[modeString[i]-'a'] = len(modeString) - i + for i := range mode { + shiftTable[mode[i]] = len(mode) - i } return shiftTable @@ -38,7 +38,7 @@ func SundayMatch(allString, modeString string) int { } //找到移动后模式字符串对应原始字符串的第一个位置 move := allString[i+mLength] - i = i + table[move-'a'] + i = i + table[move] } return -1