2014-12-22 97 views
0
$string = 'Foo (Bar) (Baz)' 
preg_match('#\((.*?)\)#', $string, $match); 

在上面的PHP,$匹配返回PHP:匹配一個字符串中的最後parethesized字?

array (0 => '(Bar)', 1 => 'Bar',) 

是否有可能改變正則表達式,因此返回:

array (0 => '(Baz)', 1 => 'Baz',) 

.i.e。括號中的最後一個單詞。

謝謝。

+1

使用'preg_match_all'並獲取數組中的最後一個元素。 – anubhava

回答

0
​​3210

試試這個。這個應該這樣做。

#\((.*?)\)(?!.*\()# 
0

您可以使用此正則表達式,它使用向前看符號和屁股,以使其更清晰

/(?<=\()(.*?)(?=\($)/ 
相關問題