1

我有一个这样的字符串

"Settings" : { "UserId" : 3, "UserToken" : "4578965235874158", "SecurityCode" : "111", "Password" : "12345", "UserPhone" : "555-555-1531", "drop" : -1, "UserLastName" : "Smith" }

我需要一个正则表达式模式来找到"UserToken"(在这个例子中4578965235874158)的值

对不起,如果这是一个“给我代码”的问题,但我从来没有使用过正则表达式,我没有太多时间学习和尝试自己做。

感谢帮助。

附加说明: 我将在 Objective-C 中将它用于 iPhone 应用程序。我不知道这是否会影响任何事情,但以防万一。

EDIT ' 模式是:key 后面总是"UserToken"跟一个空格,然后是一个空格,然后是:double Quotes 中的值"。我想得到这个值。

4

2 回答 2

0

由于它是 json 格式,因此您实际上并不需要使用正则表达式对其进行解析,但如果需要,这可以是一个解决方案:

(?<="UserToken"\s:\s")\d+
于 2013-03-04T11:15:16.440 回答
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 *)]

于 2013-03-04T12:17:18.963 回答