Pattern Matching in Strings

  • Maxime Crochemore
  • Dominique Perrin


The problem of pattern recognition in strings of symbols has received considerable attention. In fact most formal systems handling strings can be considered as defining patterns in strings. It is the case for formal grammars and especially for regular expressions which provide a technique to specify simple patterns. Other kind of patterns on words may also be defined (see for instance [23], [4]) but lead to less efficient algorithms.


Pattern Match Regular Expression String Match Suffix Tree Formal Grammar 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    A.V. Aho & MJ. CORASIK, Efficient string matching: An aid to bibliographie search, Comm. ACM, 18 (1975) 333–340.Google Scholar
  2. [2]
    2]A.Y. Aho, J.E. Hopcroft & J.D. Ullman, The design and analysis of computer algorithms, Addison-Wesley, Reading, Mass., 1974.MATHGoogle Scholar
  3. [3]
    A. Apostolico & F.P. Preparata, Optimal off-line detection of repetitions in a string, Theoret. Comput. Sci. 22 (1983) 297–315.Google Scholar
  4. [4]
    D.R. Bean, A. Ehrenfeucht & G.F. McNULTY, Avoidable patterns in strings of symbols, Pacific J. Math., 85 (1979) 261–294.Google Scholar
  5. [5]
    A. Blumer, J. Blumer, A. Ehrenfeucht, D. Haussler, M.T. Chen & J. Seiferas, The smallest automaton recognizing the subwords of a text, Theoret. Comput. Sci., 40, 1 (1985) 31–56.Google Scholar
  6. [6]
    K.S. Booth, Lexicographically least circular substrings, 10,4, 5 (1980) 240–242.Google Scholar
  7. [7]
    R.S. Boyer & J.S. Moore, A fast string searching algorithm, Comm. ACM, 20 (1977) 762–772.Google Scholar
  8. [8]
    Y. CESARI & M. VINCENT, Une caractérisation des mots périodiques, C.R. Acad. Sc., t. 286, série A (1978) 1175.Google Scholar
  9. [9]
    M. Crochemore, Transducers and repetitions, Theoret. Comput. Sci., 45 (1986) 63–86.Google Scholar
  10. [10]
    M. Crochemore, Longest common factor of two words, CAAP 87, Theory and Practice of Software development, Vol. 1, Springer Lecture Notes in Comput. Sci., 1987.Google Scholar
  11. [11]
    J.P. Duval, Mots de Lyndon et périodicité, RAIRO Informatique Théorique/ Theoretical Informatics, 14, 2 (1980) 181–191.Google Scholar
  12. [12]
    J.P. Duval, Factorizing Words over an Ordered Alphabet, Journal of Algorithms, 4 (1983) 363–381.Google Scholar
  13. [13]
    Z. Galil, On improving the most case running time of the Boyer-Moore string matching algorithm, Comm. ACM, 22, 9 (1979) 505–508.Google Scholar
  14. [14]
    Z. Galil, String Matching in real time, J. Assoc. Comput.Mach., 28, 1 (1981) 134–149.Google Scholar
  15. [15]
    Z. Galil & J. Seiferas, Time Space Optimal String Matching, J. Comput. and System Sci., 26 (1983) 280–294.Google Scholar
  16. [16]
    L.J. Guibas & A.M. Odlysko, A new proof of the linearity of the Boyer-Moore string searching algorithm, Proc. 18 th Annual IEEE Symposium on Foundations of Computer Science (1977) 189–195.Google Scholar
  17. [17]
    R.M. Karp, R.E. Miller & A.L. Rosenberg, Rapid identification of repeated patterns in strings, trees, and arrays, ACM Symposium on Theory of Computing, Vol. 4, ACM, New York, 1972, pp. 125–136.Google Scholar
  18. [18]
    D.E. Knuth, J.H. Morris & V.R. Pratt, Fast pattern matching in strings, SIAM J. Comput, 6, 2 (1977) 323–350.Google Scholar
  19. [19]
    Lothaire, Combinatorics on Words, Addison-Wesley, Reading, Mass., 1982.Google Scholar
  20. [20]
    G.M. Landau & U. Vishkin, Efficient string matching with k differences, Technical Report 186, Courant Institute of Mathematical Sciences, New York University (1985).Google Scholar
  21. [21]
    E.M. Mccreight, A space-economical suffix tree construction algorithms, J. Assoc. Comput. Mach., 28, 2 (1976) 262–272.Google Scholar
  22. [22]
    R.L. Rivest, On the worst-case behavior of string-searching algorithms, SIAM J. Comput., 6, 4 (1977) 669–674.Google Scholar
  23. [23]
    G. Rozenberg & A. Salomaa, The Mathematical Theory of L-systems, Academic Press, 1980.Google Scholar
  24. [24]
    W. Rytter, A correct preprocessing algorithm for Boyer-Moore string-searching, SIAM J. Comput, 9, 3 (1980) 509–512.Google Scholar
  25. [25]
    Y. Shiloach, Fast canonization of circular strings, J. of Algorithms, 2 (1981) 107–121.Google Scholar
  26. [26]
    A.O. SLISENKO, Determination in real time of all the periodicities in a word, Soviet. Math. Dokl., 21, 2 (1980) 392–395.Google Scholar
  27. [27]
    K. Thomson, Regular expression search algorithm, Comm. ACM, 11 (1968), 419–422.Google Scholar
  28. [28]
    E. Ukkonen, Finding Approximate Patterns in Strings, J. of Algorithms, 6(1985) 132–137.Google Scholar
  29. [29]
    U. Vishkin, Optimal parallel pattern matching in strings, Proc. 12th ICALP, LNCS 194, Springer-Verlag (1985) 497–508.Google Scholar
  30. [30]
    P. Weiner, Linear pattern matching algorithms, IEEE Symposium on Switching and Automata Theory, Vol. 14, IEEE, New York, 1972, pp. 1–11.Google Scholar

Copyright information

© Plenum Press, New York 1988

Authors and Affiliations

  • Maxime Crochemore
    • 1
  • Dominique Perrin
    • 2
  1. 1.Université Paris NordVilletaneuseFrance
  2. 2.Université ParisParisFrance

Personalised recommendations