tags:

views:

39

answers:

2

I have string as:

FOO /some/%string-in.here BAR

I would like to get everything between FOO and BAR but NOT including FOO[:space:] and NOT including [:space:]BAR

Any ideas it will be appreciate it.

A: 

Can't you just use a capturing group?

/FOO (.+?) BAR/
harto
POSIX does not support lazy quantifiers
Jan Goyvaerts
A: 

To get everything between FOO and BAR, except any spaces after FOO or before BAR, use this regex for POSIX ERE:

FOO[[:space:]]*(.*)[[:space:]]*BAR

or for POSIX BRE:

FOO[[:space:]]*\(.*\)[[:space:]]*BAR

Because POSIX only supports greedy quantifiers, this regex captures everything between FOO and the last occurrence of BAR, in case there is more than one BAR.

Jan Goyvaerts