[[Computer algebra system]]s generally support pattern matching on algebraic expressions.<ref>Joel Moses, "Symbolic Integration", MIT Project MAC MAC-TR-47, December 1967</ref>
Pattern matching has its origins in early computing when text editors began incorporating search and replace functionalities. The introduction of regular expressions by Ken Thompson in the early 1970s at Bell Labs was a significant milestone, enabling complex pattern searches within text.<ref>{{cite book |last=Friedl |first=Jeffrey |title=Mastering Regular Expressions |publisher=O'Reilly Media |year=2006 |isbn=978-0596528126}}</ref>
In 1962, the programming language SNOBOL introduced pattern matching capabilities, primarily aimed at string manipulation tasks.<ref>{{cite book |last=Farber |first=Richard |title=Programming Languages: Principles and Practice |publisher=Addison-Wesley |year=1988 |isbn=978-0201079824}}</ref> This innovation influenced later functional languages like ML and Haskell, which integrated pattern matching into their core syntax for handling data structures and control flow.<ref>{{cite book |last=Hughes |first=John |url=https://www.cs.nott.ac.uk/~pszjh/papers/whyfp.pdf |title=Why Functional Programming Matters |publisher=The Computer Journal |year=1989}}</ref>
The 1980s and 1990s saw pattern matching evolve into a fundamental feature in languages such as OCaml, Erlang, and Scala, providing concise and expressive means to deconstruct data and define functions by cases.<ref>{{cite book |last=Pierce |first=Benjamin C. |title=Types and Programming Languages |publisher=MIT Press |year=2002 |isbn=978-0262162098}}</ref> Its continued development reflects ongoing efforts to balance expressiveness with efficiency in software design.