Re: Pattern match exactly 0 or 1 times?
- To: mathgroup at smc.vnet.net
- Subject: [mg26396] Re: [mg26383] Pattern match exactly 0 or 1 times?
- From: Ken Levasseur <Kenneth_Levasseur at uml.edu>
- Date: Wed, 20 Dec 2000 00:21:25 -0500 (EST)
- References: <200012160740.CAA05177@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Gavin: I don't know exactly what you want to do but, for example, if you wanted to square the first prime number in a list of positive integers you could do this: In[1]:= {4, 6, 7, 42, 3, 9, 19} /. {{a___, b_, c___} :> {a, b^2, c} /; PrimeQ[b]} Out[1]= {4, 6, 49, 42, 3, 9, 19} In general, preceeding and following your desired pattern with BlankNullSequence's will force Mathematica to only scan your data once. Ken Levasseur Mathematical Sciences UMass Lowell Three credit on-line Introduction to Mathematica starts at the end of January: http://faculty.uml.edu/klevasseur/courses/m419/m419.html 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. > > Is there anything like a general Regular Expression package for > Mathematica anywhere? I did a quick search and didn't find anything > like this, so I'm wondering if my desire for such a thing simply > indicates that there's something fundamental about Mathematica > that I don't get yet which would eliminate the need for this. > > Thanks, > > G.
- References:
- Pattern match exactly 0 or 1 times?
- From: gavin@allegro.com (Gavin Scott)
- Pattern match exactly 0 or 1 times?