Я пытаюсь получить все XML из определенных тегов (а не только значений, но все, включая XML, между двумя тегами open и close), и я решил, что буду использовать регулярное выражение.Почему мое стандартное выражение iOS не работает?
Мой код выглядит следующим образом
NSError *error2 = NULL;
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"<PayloadPost>(.*)</PayloadPost>"
options:NSRegularExpressionCaseInsensitive
error:&error2];
if (error2)
{
NSLog(@"Error %@", [error2 description]);
}
NSArray *payloadRanges=[regex matchesInString:theXMLString options:0 range:NSMakeRange(0, [theXMLString length])];
int size=[payloadRanges count];
printf("Size %d",size);
В принципе мне нужно все, что в «PayloadPost» с и до сих пор он держит не дает мне ничего. Я продолжаю получать 0 для размера, и я знаю, что в XML есть три экземпляра.
Может ли кто-нибудь помочь мне?
Ну что работал, после того, как я добавил в знак вопроса после того, как звездочки, поэтому было бы не жадный. Теперь все, что мне нужно сделать, это выяснить, как заставить строки не включать «» и « PayloadPost». Это и включает в себя несколько опций, но в основном избавляет от полезных нагрузок. Спасибо за вашу помощь. –
user1515993
проверьте это http://stackoverflow.com/questions/6822356/capture-groups-not-working-in-nsregularexpression?rq=1 – Qnan
Это сработало. Возможно ли иметь вариант> 1? – user1515993