In this paper we have presented new algorithms to handle the pattern matching problem where the pattern can contain variable length gaps. Given a pattern P with variable length gaps and a text T our algorithm works in O(n + m + log(max1<=i<=l(bi - ai))) time where n is the length of the text, m is the summation of the lengths of the component subpatterns, is the total number of occurrences of the component subpatterns in the text and ai and bi are, respectively, the minimum and maximum number of don't cares allowed between the ith and (i+1)st component of the pattern. We also present another algorithm which, given a suffix array of the text, can report whether P occurs in T in O(m + log log n) time. Both the algorithms record information to report all the occurrences of P in T. Furthermore, the techniques used in our algorithms are shown to be useful in many other contexts.
M. Sohel Rahman, Costas S. Iliopoulos, Inbok Lee,