Wolfram Language Paclet Repository

Community-contributed installable additions to the Wolfram Language

Primary Navigation

    • Cloud & Deployment
    • Core Language & Structure
    • Data Manipulation & Analysis
    • Engineering Data & Computation
    • External Interfaces & Connections
    • Financial Data & Computation
    • Geographic Data & Computation
    • Geometry
    • Graphs & Networks
    • Higher Mathematical Computation
    • Images
    • Knowledge Representation & Natural Language
    • Machine Learning
    • Notebook Documents & Presentation
    • Scientific and Medical Data & Computation
    • Social, Cultural & Linguistic Data
    • Strings & Text
    • Symbolic & Numeric Computation
    • System Operation & Setup
    • Time-Related Computation
    • User Interface Construction
    • Visualization & Graphics
    • Random Paclet
    • Alphabetical List
  • Using Paclets
    • Get Started
    • Download Definition Notebook
  • Learn More about Wolfram Language

Patterns

Guides

  • Guide
  • MainGuide

Tech Notes

  • Match & Replace

Symbols

  • MatchBindings
  • MatchParts
  • MultiwayReplace
  • NameValuePattern
  • PatternMatch
Wolfram`Patterns`
PatternMatch
​
PatternMatch
[expression,pattern]
match a
pattern
against an
expression
and return a substitution object.
​
Details and Options

Examples  
(1)
Basic Examples  
(1)
In[1]:=
PatternMatch
[a,x_]//InputForm
Out[1]//InputForm=
MatchPart[{}, HoldPattern[x_], MatchValues[a]]
In[2]:=
PatternMatch
[a,x_|a]//InputForm
Out[2]//InputForm=
MatchSum[MatchPart[{}, HoldPattern[(x_) | a],
MatchPart[{}, HoldPattern[x_], MatchValues[a]]],
MatchPart[{}, HoldPattern[(x_) | a], MatchValues[a]]]
In[3]:=
PatternMatch
[{1,2,3},{x___}]//InputForm
Out[3]//InputForm=
MatchSum[MatchProduct[MatchPart[{1}, HoldPattern[x___],
MatchSum[MatchProduct[MatchPart[{}, HoldPattern[___],
MatchValues[Sequence[1, 2, 3]]]]]]]]
In[4]:=
PatternMatch
[{},{_.}]//InputForm
Out[4]//InputForm=
MatchSum[MatchProduct[MatchSum[MatchPart[{1}, HoldPattern[_.],
MatchSum[]], MatchValues[Sequence[]]]]]
In[5]:=
PatternMatch
[{},{x_:def}]//InputForm
Out[5]//InputForm=
MatchSum[MatchProduct[MatchSum[MatchPart[{1}, HoldPattern[x_:def],
MatchSum[MatchProduct[MatchPart[{}, HoldPattern[x_], MatchSum[]]]]],
MatchProduct[MatchPart[{1}, HoldPattern[x_], MatchValues[def]]]]]]
In[6]:=
PatternMatch
[{a,b,c},{x___,y___}]//InputForm
Out[6]//InputForm=
MatchSum[MatchProduct[MatchPart[{1}, HoldPattern[x___],
MatchSum[MatchProduct[MatchPart[{}, HoldPattern[___],
MatchValues[Sequence[]]]]]],
MatchSum[MatchProduct[MatchPart[{2}, HoldPattern[y___],
MatchSum[MatchProduct[MatchPart[{}, HoldPattern[___],
MatchValues[Sequence[a, b, c]]]]]]]]],
MatchProduct[MatchPart[{1}, HoldPattern[x___],
MatchSum[MatchProduct[MatchPart[{}, HoldPattern[___],
MatchValues[Sequence[a]]]]]],
MatchSum[MatchProduct[MatchPart[{2}, HoldPattern[y___],
MatchSum[MatchProduct[MatchPart[{}, HoldPattern[___],
MatchValues[Sequence[b, c]]]]]]]]],
MatchProduct[MatchPart[{1}, HoldPattern[x___],
MatchSum[MatchProduct[MatchPart[{}, HoldPattern[___],
MatchValues[Sequence[a, b]]]]]],
MatchSum[MatchProduct[MatchPart[{2}, HoldPattern[y___],
MatchSum[MatchProduct[MatchPart[{}, HoldPattern[___],
MatchValues[Sequence[c]]]]]]]]],
MatchProduct[MatchPart[{1}, HoldPattern[x___],
MatchSum[MatchProduct[MatchPart[{}, HoldPattern[___],
MatchValues[Sequence[a, b, c]]]]]],
MatchSum[MatchProduct[MatchPart[{2}, HoldPattern[y___],
MatchSum[MatchProduct[MatchPart[{}, HoldPattern[___],
MatchValues[Sequence[]]]]]]]]]]
RelatedGuides
▪
Guide (internal)
""

© 2025 Wolfram. All rights reserved.

  • Legal & Privacy Policy
  • Contact Us
  • WolframAlpha.com
  • WolframCloud.com