MathGroup Archive 2010

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

Search the Archive

A question about string patterns

  • To: mathgroup at smc.vnet.net
  • Subject: [mg111434] A question about string patterns
  • From: fd <fdimer at gmail.com>
  • Date: Sun, 1 Aug 2010 04:57:10 -0400 (EDT)

Dear Group

I'm kind of starting with string patterns with Mathematica and would
like to make sense of some questions.

I was sorting out a string matching problem in Vim where I needed to
find all strings not enclosed by double quotes (\"). To do this a
regular expression with look-behind seems to be essential.

The tutorial in advanced string patterns from WR says Mathematica
pattern lacks look-ahea/look behind type of functions, anyway, I tried
with Mathematica and found that it was really easy, the solution (I
suppose) I found in mathematica is

text = "this is a text with \"quotes\" we wish to select and there \
are more than \"one\" whole \"set \" of them \"the end\""

StringReplace[text, (x :
     Except["\""] ...) ~~ (y : ("\"" ~~ Except["\""] ... ~~
        "\"") ...) :> ToUpperCase[x] ~~ y]

So my questions are:

1) is there some type of problem that can only be solved with look-
ahead/look-behind, so that RegularExpression[] or some piece of
Mathematica code had to be used?

2) It seems to me that look behind/ahead constructs can be somehow
emulated with named patterns in Mathematica, is this always the case?

Finally, I'd be really glad to know of anyone else's solution to this
problem (either mathematica or regexp). Any other comment/thoughts on
this problem would be greatly appreciated.

Best
Felipe



  • Prev by Date: Re: Packages designed for use in player pro
  • Next by Date: Re: assuming certain properties about variables
  • Previous by thread: Re: Packages designed for use in player pro
  • Next by thread: Re: AxesLabel parallel to 3D axes?