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