串的模式匹配
模式匹配(Pattern Matching):即子串定位运算(lndex(S;T)函数)
- 算法目的
确定主串S中所含子串T第一次出现的位置
- 初始条件
串S和T存在,T是非空串
- 操作结果
若主串S存在和串T值相同的子串,则返回它在主串S中第一次出现的位 置,否则返回0。
1 .经典模式匹配算法(BF算法)
BF算法设计思想
- 1.将主串S的第i个(初始i=l)字符和模式T的第1个字符进行比较,若相等,继续逐个比较后续字符;若不等,从主串S的下一字符(i++)起,重新与T的第一个字符进 行比较。
- 2.直到主串S的一个连续子串字符序列与模式T相等。返回值为S中与T 匹配的子序列第一个字符的序号,即匹配成功。否则,匹配失败, 返回值0.