From help
See select-and-blank
test = {{"String1", "a"}, {"String2", "b"}, {"String3", "a"}, {"String4", "a"}}; Cases[test, {_String, "a"}] Out[281]= {{String1, a}, {String3, a}, {String4, a}} Select[test, MatchQ[#1, {_String, "a"}] & ] Out[282]= {{String1, a}, {String3, a}, {String4, a}}
See given-a-symbolic-expression-how-to-find-if-starts-with-a-minus-or-not
Clear[x] p = (_.)*_?Negative; MatchQ[-3*x^2, p] Out[285]= True MatchQ[3*x^2, p] Out[286]= False expr = -3*x^2; (expr /. Thread[Variables[expr] -> 1]) < 0 Out[288]= True expr = 3*x^2; (expr /. Thread[Variables[expr] -> 1]) < 0 Out[290]= False