public class KmpMatchers extends Object
KMP算法于1977年被提出,全称 Knuth–Morris–Pratt 算法,包含了三位前辈名字,分别是:Donald Knuth(K), James H. Morris(M), Vaughan Pratt(P)01算法核心思想
KMP算法步骤
1. 计算部分匹配表(Partial Match Table):
这个表记录了模式串中每个位置前缀和后缀的最大公共长度。
2. 字符串匹配:
使用部分匹配表来指导主串和模式串的比较,当字符不匹配时,根据部分匹配表跳过一些不必要的比较。
| 构造器和说明 |
|---|
KmpMatchers() |
| 限定符和类型 | 方法和说明 |
|---|---|
static boolean |
contains(char[] container,
char[] pattern) |
static boolean |
contains(CharSequence container,
CharSequence pattern) |
static int |
indexOf(char[] container,
char[] pattern) |
static int |
indexOf(char[] container,
char[] pattern,
int fromIndex) |
static int |
indexOf(CharSequence container,
CharSequence pattern) |
static int |
indexOf(CharSequence container,
CharSequence pattern,
int fromIndex) |
static int |
indexOfIgnoreCase(char[] container,
char[] pattern) |
static int |
indexOfIgnoreCase(char[] container,
char[] pattern,
int fromIndex) |
static int |
indexOfIgnoreCase(CharSequence container,
CharSequence pattern) |
static int |
indexOfIgnoreCase(CharSequence container,
CharSequence pattern,
int fromIndex) |
static int |
lastIndexOf(char[] container,
char[] pattern) |
static int |
lastIndexOf(char[] container,
char[] pattern,
int fromIndex) |
static int |
lastIndexOf(CharSequence container,
CharSequence pattern) |
static int |
lastIndexOf(CharSequence container,
CharSequence pattern,
int fromIndex) |
static int |
lastIndexOfIgnoreCase(char[] container,
char[] pattern) |
static int |
lastIndexOfIgnoreCase(char[] container,
char[] pattern,
int fromIndex) |
static int |
lastIndexOfIgnoreCase(CharSequence container,
CharSequence pattern) |
static int |
lastIndexOfIgnoreCase(CharSequence container,
CharSequence pattern,
int fromIndex) |
public static boolean contains(CharSequence container, CharSequence pattern)
public static boolean contains(char[] container,
char[] pattern)
public static int indexOf(CharSequence container, CharSequence pattern)
public static int indexOf(CharSequence container, CharSequence pattern, int fromIndex)
public static int indexOf(char[] container,
char[] pattern)
public static int indexOf(char[] container,
char[] pattern,
int fromIndex)
public static int indexOfIgnoreCase(CharSequence container, CharSequence pattern)
public static int indexOfIgnoreCase(CharSequence container, CharSequence pattern, int fromIndex)
public static int indexOfIgnoreCase(char[] container,
char[] pattern)
public static int indexOfIgnoreCase(char[] container,
char[] pattern,
int fromIndex)
public static int lastIndexOf(CharSequence container, CharSequence pattern)
public static int lastIndexOf(CharSequence container, CharSequence pattern, int fromIndex)
public static int lastIndexOf(char[] container,
char[] pattern)
public static int lastIndexOf(char[] container,
char[] pattern,
int fromIndex)
public static int lastIndexOfIgnoreCase(CharSequence container, CharSequence pattern)
public static int lastIndexOfIgnoreCase(CharSequence container, CharSequence pattern, int fromIndex)
public static int lastIndexOfIgnoreCase(char[] container,
char[] pattern)
public static int lastIndexOfIgnoreCase(char[] container,
char[] pattern,
int fromIndex)
Copyright © 2025 fossc. All rights reserved.