In
computer science, pattern matching is the act of checking for the presence of the constituents of a given
pattern. In contrast to
pattern recognition, the pattern is rigidly specified. Such a pattern concerns conventionally either
sequences or
tree structures. Pattern matching is used to test whether things have a desired structure, to find relevant structure, to retrieve the aligning parts, and to substitute the matching part with something else. Sequence (or specifically text string) patterns are often described using
regular expressions (i.e.
backtracking) and matched using respective algorithms. Sequences can also be seen as trees branching for each element into the respective element and the rest of the sequence, or as trees that immediately branch into all elements.
See more at Wikipedia.org...
1. A function is defined to take arguments of a particular type, form or value. When applying the function to its actual arguments it is necessary to match the type, form or value of the actual arguments against the formal arguments in some definition. For example, the function
length [] = 0 length (x:xs) = 1 + length xs
uses pattern matching in its argument to distinguish a null list from a non-null one.
There are well known
algorithm 1 : length xs
Pattern matching is usually performed in textual order though there are languages which match more specific patterns before less specific ones.
2. Descriptive of a type of language or utility such as
awk or
Perl which is suited to searching for strings or patterns in input data, usually using some kind of
regular expression.
(1994-11-28)