POSIX正则表达式用于查找wordS和wordY之间的所有内容

时间:2010-04-25 01:28:43

标签: regex posix

我有字符串:

FOO /some/%string-in.here BAR

我想在FOO和BAR之间获取所有内容,但包括FOO[:space:],包括[:space:]BAR

任何想法都会欣赏它。

2 个答案:

答案 0 :(得分:0)

你不能只使用一个捕获组吗?

/FOO (.+?) BAR/

答案 1 :(得分:0)

要获取FOO和BAR之间的所有内容,除了FOO之后或BAR之前的任何空格,请将此正则表达式用于POSIX ERE:

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

或POSIX BRE:

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

因为POSIX只支持贪婪量词,所以这个正则表达式捕获FOO和最后一次出现的BAR之间的所有内容,以防有多个BAR。