Re:Pattern match exactly 0 or 1 times?
- To: mathgroup at smc.vnet.net
- Subject: [mg26424] Re:[mg26383] Pattern match exactly 0 or 1 times?
- From: "Ersek, Ted R" <ErsekTR at navair.navy.mil>
- Date: Wed, 20 Dec 2000 00:21:45 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
Gavin Scott wrote: ------------------------ Is there a way to specify a pattern which will match exactly zero or one times? I find myself wanting somethinglike the standard regular expression '?' operator, but can't see a way to do this with Mathematica's pattern features. The closest I've been able to come is something like: x___ /; x=="a" which will match zero or more copies of a specific value. I'd like to match no more than one though. <snip> ----------------------- One of the methods below should help. In[1]:= Default[f]="a"; f[x_.]:={x} {f[], f[3], f[3,4]} Out[2]= {{a}, {3}, f[3,4]} In[3]:= g[x_:"a"]:={x} {g[], g[3], g[3,4]} Out[5]= {{a}, {3}, g[3,4]} If you don't like one of the methods above you can of course have a separate definition for no arguments. In[6]:= h[]="a"; h[x_]:={x} {h[], h[3], h[3,4]} Out[8]= {a, {3}, h[3,4]} ------------------------ Regards, Ted Ersek Download Mathematica tips, tricks from http://www.verbeia.com/mathematica/tips/Tricks.html