两种模式,三种匹配状态。
两种模式:
文本指针i自左向右移动,模式指针自右向左移动。匹配时由pattern的字符串由右向左匹配。
三种匹配失败状态:
1.匹配到一个不在模式字符串中的字符,将文本指针i跳跃pattern.length+1。重新匹配。
2.匹配到一个在模式字符串中的字符,将文本指针i跳跃的长度为该字符在pattern最右边的位置,也就是将文本字符串该字符和模式字符串该字符对齐。重新匹配。
3.匹配到一个在模式字符串中的字符,但跳跃长度为负数,将i跳跃长度设为1。重新匹配。