我有一个与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