MathGroup Archive 2000

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Pattern match exactly 0 or 1 times?


Hi,

found = False;
lst = {"b", "c", "a", "a", "q"} /. 
    x___ /; x == "a" :> If[! found, found = True; alpha, x]

??

ReplaceFirst[expr_, pat_, new_] :=
  Module[{pos},
    pos = Position[expr , pat];
    If[{} =!= pos, ReplacePart[expr, new, First[pos]], expr]
    ]

???


Regards
  Jens

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.


  • Prev by Date: Re: Color Charts
  • Next by Date: Re: physical colors and Mathematica colors
  • Previous by thread: Re:Pattern match exactly 0 or 1 times?
  • Next by thread: Re: Pattern match exactly 0 or 1 times?