2010-02-22 65 views
0

我試圖取代的東西是這樣的:Xcode的懶惰正則表達式

NSSomeFunction(@"some var", @"another one") 

有了:

NSSomeOhterFunction(@"some var") 

在Xcode中。因此,這些都是源文件... 我敢打賭,正則表達式將會是這個樣子:

NSSomeFunction\((.*), .+\) 

但我需要這是懶惰的。否則,+)將匹配最後一個括號而不是第一個(例如,最後的兩個括號將替換爲給定此字符串的單個括號:「NSLog(@」%@「,NSSomeFunction(@」hey「,@ 「大聲笑」))」 )。

如何做這樣的懶惰搜索?我認爲你可以使用修飾符/ U(ungreedy)在珍珠中做到這一點。雖然Xcode似乎不支持。

+1

「/ U」修飾符在PHP中找到,而不是Perl中,並且它使所有量詞默認情況下不貪婪,或者貪婪if接着是'?'。引用Friedl的話說,「我猜想這種模式修飾詞的主要作用是造成混亂,所以我當然不推薦它。」 http://www.oreilly.com/catalog/regex3/index.html – 2010-08-01 21:29:16

回答

3

通常的?將指示非貪婪匹配,因此對於。+)您將使用。+?)

+0

謝謝,這工作。 – quano 2010-02-22 19:33:14