2014-01-26 2 views
0

У меня есть NSString, которые содержат эту строку:Regex строки прибудет из строки

c&&(b.signature=Rk(c));return ql(a,b)} 

RK может быть любые два символом.

Я стараюсь, чтобы получить RK из строки с (RegexKitLit):

NSString *functionCode = [dataStr2 stringByMatching:@".signature=(.*?)\(" capture:1L]; 

и functionCode всегда nil .Any идея, что не так?

+1

Если вы знаете, где находятся 2 символа, зачем вам регулярное выражение? –

+0

Я написал, что это может быть Rk, и это может быть tU или любые другие две буквы – MTA

+1

Но так как вы знаете, где они, разве вы не можете просто извлечь персонажей на этих позициях? –

ответ

0

Не беспокойтесь о регулярных выражениях для этого. Если формат строки всегда то же самое, то вы можете просто сделать:

NSString *dataStr2 = @"c&&(b.signature=Rk(c));return ql(a,b)}"; 
NSString *functionCode = [dataStr2 substringWithRange:NSMakeRange(16, 2)]; 

Если строка не совсем так фиксировано, то ее на основе позиции =.

NSString *dataStr2 = @"c&&(b.signature=Rk(c));return ql(a,b)}"; 
NSRange equalRange = [dataStr2 rangeOfString:@"="]; 
NSString *functionCode = [dataStr2 substringWithRange:NSMakeRange(equalRange.location + equalRange.length, 2)]; 
Смежные вопросы