我有一个像这样的字符串
"Settings" : { "UserId" : 3, "UserToken" : "4578965235874158", "SecurityCode" : "111", "Password" : "12345", "UserPhone" : "555-555-1531", "drop" : -1, "UserLastName" : "Smith" }
我需要一个正则表达式模式来查找"UserToken"
的值(在此示例中为4578965235874158
)
很抱歉,如果这是一个“给我代码”的问题,但我从未使用正则表达式而且我没有太多时间学习并尝试自己动手。
感谢您的帮助。
附加说明: 我将在Objective-C中将它用于iPhone应用程序。我不知道这是否会影响任何事情,只是为了以防万一。
修改”
模式是:密钥总是"UserToken"
后跟一个空格,然后是:
,然后是另一个空格,然后是双引号"
内的值。我想得到这个价值。
答案 0 :(得分:0)
由于它是json格式,你不需要用正则表达式解析它,但如果你需要,这可以是一个解决方案:
(?<="UserToken"\s:\s")\d+
答案 1 :(得分:0)
我会转换它并访问我需要的所有信息:
NSString *str = @"\"Settings\" : { \"UserId\" : 3, \"UserToken\" : \"4578965235874158\", \"SecurityCode\" : \"111\", \"Password\" : \"12345\", \"UserPhone\" : \"555-555-1531\", \"drop\" : -1, \"UserLastName\" : \"Smith\" }";
//NSDictionary *jsonDict = [str JSONValue];
NSError *error;
NSData *jsonData = [str dataUsingEncoding:NSUTF8StringEncoding];
NSDictionary *results = [NSJSONSerialization JSONObjectWithData:jsonData options:0 error:&error];
所有信息都存储在结果NSDictionary中,只需执行以下操作:[results valueForKey:(NSString *)]
或[results objectForKey::(NSString *)]