You've severely misunderstood how pattern matching of Mathematica works. _
is not wildcard character like ?
or *
. A simple example to tear off your illusion:
f[x_] := xaaaa^2
f[123]
(* xaaaa^2 *)
Please remember, one should never guess the meaning of unknown syntax. Consider starting from the tutorial Patterns in the document to learn how pattern matching works.
If you want to use wildcard character, here is a possibility:
Cases[{alpha, beta, mxyzptlk}, _?(StringMatchQ[SymbolName@#, "b*"] &)]
(* {beta} *)
If you don't bother to type the lengthy pattern every time, define a function e.g.:
wildcard[字符串_] := _?(StringMatchQ[SymbolName@#, 字符串] &)
Cases[{alpha, beta, mxyzptlk}, wildcard@"a*"]
(* {alpha} *)