2012-05-02 22 views
1

我是比較新的NSRegularExpression,只是不能拿出一個模式來查找字符串中的字符串.... 這裏是串...無法確定NSRegularExpression的模式...?

#@[email protected]@[12345-678[[email protected]@2 

我想提取字符串..

@[email protected][12345-678[[email protected]

更多的信息,我知道會有3個數字(如001)兩者之間@的最後兩個@之間的20個字符的..

我試過n個組合,但沒有任何東西似乎工作。任何幫助表示讚賞。

回答

2

怎麼是這樣的:

@[0-9]{3}@.{20}@ 

如果您知道20個字符將始終由數字,[-,你的模式將成爲:

@[0-9]{3}@[0-9\[\-]{20}@ 

小心的反斜槓:當您使用字符串文字(@"...")創建模式時,需要在每個反斜槓之前添加一個額外的反斜槓。

+0

什麼是測試NSRegularExpression模式不必每次都重新編譯「」 (點表示..?) –

+0

點匹配任何字符,如果您知道它總是數字,則可能需要使用更具體的模式,['和'-'。 – omz

+0

我不相信你必須在括號表達式中轉義左括號('[')。同樣,如果它是括號表達式中的第一個字符,則不必轉義破折號(' - ')。 –