2010-02-23 17 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

相關問題