BM算法查找子字符串

两种模式,三种匹配状态。

两种模式:

    文本指针i自左向右移动,模式指针自右向左移动。匹配时由pattern的字符串由右向左匹配。

三种匹配失败状态:

    1.匹配到一个不在模式字符串中的字符,将文本指针i跳跃pattern.length+1。重新匹配。

    2.匹配到一个在模式字符串中的字符,将文本指针i跳跃的长度为该字符在pattern最右边的位置,也就是将文本字符串该字符和模式字符串该字符对齐。重新匹配。

    3.匹配到一个在模式字符串中的字符,但跳跃长度为负数,将i跳跃长度设为1。重新匹配。

猜你喜欢

转载自blog.csdn.net/weixin_42230824/article/details/86760225