我有一個與RegExr一起使用的正則表達式,但在Objective-C中無法與NSRegularExpression一起使用。問題出在」和}符號上,這是一個我想要搜索的字符串的一部分。 我的正則表達式:NSRegularExpression似乎無法識別表達式中的符號「和}
(?<=\"Here\":\")(.*?)(?=\"})
有了這個表達,Xcode中說「期望」,並與\前面}和Xcode中還表示,它不承認}。我得到所有這些變化與RegExr一起工作。
對於這樣的字符串:
{"Something":"Something else", "Here" : "What I want is between these quotation marks"}
我在documentation擡頭,但我沒有找到有關這些符號有什麼。
我的代碼是:
NSRegularExpression *regEx = [NSRegularExpression regularExpressionWithPattern:@"(?<=\"Here\":\")(.*?)(?=\"})"options:NSRegularExpressionCaseInsensitive error:&error];
NSArray *matches = [regEx matchesInString:stringToSearch options:0 range:NSMakeRange(0, [stringToSearch length])];
[matches count] // Returns 0
那麼,是我的錯?也許所有的表達都是錯誤的,RegExr是問題嗎?
在此先感謝。
它看起來像你試圖解析一個哈希表或字典的字符串表示。你確定沒有更好的圖書館嗎? – Monolo
是的,看起來像JSON,所以可以使用NSJSONSerialization。 –
是的,它是JSON。感謝你們兩位,我也會檢查這個選項,因爲它可能更有效。 ;) – Esso