p?test is a pattern object that stands for any expression which matches p, and on which the application of test gives True.
Any result for test[pval] other than True is taken to signify failure.
Example: _?NumberQ represents a number of any type. The _ matches any expression, and ?NumberQ restricts to any expression which gives True on application of the number test NumberQ.
The operator ? has a high precedence. Thus _^_?t is _^(_?t) not (_^_)?t.
In a form such as __?test every element in the sequence matched by __ must yield True when test is applied.
See Section 2.3.5.
See also: Condition, Element.
New in Version 1.