2013-01-19 80 views
1

我試圖解析從頁面的源代碼中的7位數字和圖形,我尋找的是Objective C正則表達式?

/NNNNNNN」

其中‘n’是一個數字。我試圖用下面的正則表達式和正則表達式試驗場它的工作原理,但不是在OBJ-C。難道我傳遞了錯誤的選項,或者什麼?

NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"/\d\d\d\d\d\d\d\">" options:NSRegularExpressionSearch error:nil]; 
NSUInteger numberOfMatches = [regex numberOfMatchesInString:contents 
                options:0 
                 range:NSMakeRange(0, [contents length])]; 
+3

您應該使用另一個反斜槓(比如'\\ d')來反斜槓。另外,如果您需要重複數字,請嘗試使用'/ \\ d {7}'。 – 2013-01-19 18:37:54

回答

1

你應該在你的d前雙反斜線s,像這樣:

@"/\\d\\d\\d\\d\\d\\d\\d\">" 

反斜槓是字符串文字中的一個特殊字符:它之後的字符的解釋不同。爲了使正則表達式引擎看到反斜槓,你需要在文字中使用兩個斜槓。

+0

謝謝,我現在得到了一些結果。但是,當我在正則表達式的末尾添加「\」(如果我們忘記了>片刻),我沒有收到任何結果! –

+2

@NikolayDyankov您不需要在雙引號字符前加斜槓''',因爲一個單斜槓轉義雙引號。正則表達式引擎看到的確切字符串是'/ \ d \ d \ d \ d \ d \ d \ d「>'。 – dasblinkenlight