在计算机所处理的各类数据中,有很大一类属于正文数据,也常称为文本型数据,如各种文稿资料、源程序、上网浏览页面的HTML文件等。几乎在所有对正文进行编辑的软件中,都提供有"查找"的功能,即要求在正文串中,查询有没有和一个"给定的串"相同的子串,若存在,则屏幕上的光标移动到这个子串的起始位置。这个操作即为串的定位操作,通常称为正文模式匹配。例如,

  若 S ="concatenation",T ="cat",
  则称主串S中存在和模式串T相同的子串,起始位置为4,即 Index(S,T,1)=4 。

  在4.1节中曾讨论了利用比较、求串长和求子串等操作实现定位函数 Index(S,T,pos) 的算法,由于模式匹配是正文处理程序中应用最频繁的操作,因此通常应直接在相应的存储结构上实现。

  正文模式匹配有多种算法,这里只介绍其中两个算法,并为简单起见,采用C语言中串的定长表示描述算法。
 
  文本型数据是任何平台和系统都可以接受的数据形式,在计算机行业有着很长的应用历史,最初的使用中,这些文字材料仅由可打印的字符组成,首先由字符组成行,然后再由行构成整个正文。