basic pattern matching

*To*: mathgroup at smc.vnet.net*Subject*: [mg114310] basic pattern matching*From*: Peter Pein <petsie at dordos.net>*Date*: Tue, 30 Nov 2010 06:22:55 -0500 (EST)

Dear group, I'm confused regarding defaults. In[1]:= MatchQ[x,a_*x] Out[1]= False this has been expected In[2]:= MatchQ[x,a_. *x] Out[2]= True this one too, but: In[3]:= Cases[x,a_.*x:>a] Out[3]= {} should have been {1} shouldn't it? If the pattern matches (see Out[2]) then with a_. == 1. (Bug or feature?) In[4]:= Cases[y+x,a_.*x:>a] Out[4]= {1} is OK. Any enlightenment is highly welcome, thanks in advance, Peter P.S.: $Version is 8.0 for Linux 64-bit (November 7, 2010)