2010-02-23 19 views

回答

5

使用一组:

foo(.+?)bar 

然后你就可以参照组作为$1\1,取决于语言和你用它做。

与往常一样,让我推荐Regular-Expressions.info学习所有有关正则表达式。

+0

谢谢! -marienbad – themirror 2010-02-23 17:40:18

+0

不知道如果不饿符号(。*?)是在所有的regex实现可用。 – lollinus 2010-02-23 17:41:13

0

您可以使用:

foo(.+?)bar 

foo(.*?)bar 

第二届一个会工作,即使有富之间没有任何东西,酒吧

2

另一种方法是使用l ookaround如果你使用(你没有指定)正则表达式的味道支持它。 .NET,Python的做,红宝石和JavaScript不(充分),例如:

(?<=foo).+(?=bar) 

任何数量如果它们被foo之前和之后bar字符匹配。

+0

Perl和PHP的参看preg_功能也支持这一点。 – 2010-02-23 19:02:48

+0

是的,我也忘了Java。 – 2010-02-23 20:27:32

相关问题