Possible Duplicate:
Why doesn't PatternTest work with Composition?
x := 2*3;
In[84]:= MatchQ[x,_?Function[Null,NumericQ@Unevaluated@#,HoldAll]]
Out[84]= False
In[83]:= MatchQ[x,_?(Function[Null,NumericQ@Unevaluated@#,HoldAll])]
Out[83]= True
Why the difference? Why the # is highlighted in front-end, indicating there is syntax error? What's the best way to use a Function[] in MatchQ[] to validate an expression by pattern matching its unevaluated form?
In[126]:= NumericQ[HoldAllComplete[2*3]]
Out[126]= False
What to put in <test> so the following return False?
MatchQ[x,_?<test>]