PatternTest
pat?test
matches when the expression matches pat
and test[MATCH]
evaluates to True
.
Attributes[PatternTest] := {HoldRest, Protected}
Simple examples
In[1]:= MatchQ[1, PatternTest[_, NumberQ]] Out[1]= True
In[2]:= MatchQ[a, PatternTest[_, NumberQ]] Out[2]= False
In[3]:= MatchQ[1, PatternTest[1, NumberQ]] Out[3]= True
In[4]:= MatchQ[1, PatternTest[1.5, NumberQ]] Out[4]= False
In[5]:= MatchQ[1.5, PatternTest[1.5, NumberQ]] Out[5]= True
In[6]:= Cases[{5, 2, a^b, x, y, 4.5}, PatternTest[_, NumberQ]] Out[6]= {5, 2, 4.5}