StringCases and Shortest
- To: mathgroup at smc.vnet.net
- Subject: [mg97353] StringCases and Shortest
- From: Grischika at mail.ru
- Date: Wed, 11 Mar 2009 04:26:42 -0500 (EST)
Hello!
I want to select shortest substring between brackets from the string.
For example:
Func["f(a+b) some text (comments)" ]
should give:
{"a+b","comments"},
and
Func["(f(a+b) some text (comments)" ]
should give:
{"(a+b)","(comments)"} too.
In the help I found this line:
in[]: StringCases["-(a)--(bb)--(c)-", Shortest["(" ~~ __ ~~ ")"]]
out: {"(a)","(bb)","(c)"}
which, at first sight, works as I desire.
But when I add bracket at start of line then answer is incorrect
in[]: StringCases["(-(a)--(bb)--(c)-", Shortest["(" ~~ __ ~~ ")"]]
out: {"(-(a)","(bb)","(c)"}
What is wrong? And how to solve this problem?