¿Expresión regular para obtener un ID de usuario de Facebook a partir de una URL de API gráfica?

¿Qué es una expresión regular que extraerá el ID de usuario de una URL del siguiente formato? Por ejemplo, en el siguiente ejemplo, estoy buscando obtener "1227627" como coincidencia después de aplicar la expresión regular.

https://graph.facebook.com/1227627/movies?access_token=[access_token]&limit=5000&offset=5000&__after_id=103108306395658

Nota: Usaré esto en iOS / objetivo c.

Para algunos antecedentes, estoy usando la solicitud por lotes de la API de graphi. Una solicitud por lotes puede contener hasta 20 solicitudes individuales y, lamentablemente, las respuestas individuales no devuelven la URL de la solicitud. Podría realizar un seguimiento de todas las solicitudes individuales, pero sería más sencillo analizar la ID de usuario a la que corresponde la solicitud de esta manera.

preguntado el 01 de febrero de 12 a las 04:02

1 Respuestas

Puede usar 'https?: //Graph.facebook.com/ ([0-9] +) /' y el número sería el primer grupo de captura.

Algo parecido a:

// input URL
NSString *urlString = @"https://graph.facebook.com/1227627/movies?access_token=access_token]&limit=5000&offset=5000&__after_id=103108306395658";

// construct the regex
NSRegularExpression *regex = [NSRegularExpression 
      regularExpressionWithPattern:@"https?://graph\\.facebook\\.com/([0-9]+)/"  
                           options:NSRegularExpressionSearch 
                             error:nil];
// match against url
NSArray *matches = [regex matchesInString:urlString
                                  options:0
                                    range:NSMakeRange(0, [urlString length])];
// extract capturing group 1
for (NSTextCheckingResult *match in matches) {
    NSRange matchRange = [match rangeAtIndex:1];
    NSString *matchString = [urlString substringWithRange:matchRange];
    NSLog(@"%@", matchString);
}

Respondido 01 Feb 12, 09:02

Genial, gracias por una respuesta tan completa. ¿Tiene algún consejo para aprender expresiones regulares? - ch3rryc0ke

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.