ICECAST数据的NSRegularExpression模式

时间:2012-04-13 22:26:45

标签: ios regex regex-group

我正在尝试使用NSRegularExpression从音频流中分割出ICECAST数据,但我认为我的模式存在一般性问题。

这是我的代码:

NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"StreamTitle='(.*)';" 
                                                                       options:NSRegularExpressionCaseInsensitive 
                                                                         error:nil];

NSMutableString *messageAsText = [NSMutableString stringWithUTF8String:[messageAsRawData bytes]];
NSTextCheckingResult *match = [regex firstMatchInString:messageAsText 
                                                options:0
                                                  range:NSMakeRange(0, [messageAsText length])];
NSString *message = [messageAsText substringWithRange:[match rangeAtIndex:1]];
NSLog(@"Input: '%@', Output: '%@'", messageAsText, message);

说输入是:

StreamTitle='Thomas Newman - Awkward Talk [The Horse Whisperer]';StreamUrl='';

我希望得到这个:

Thomas Newman - Awkward Talk [The Horse Whisperer]

但我明白了:

Thomas Newman - Awkward Talk [The Horse Whisperer]';StreamUrl='

这与NSRegularExpression无关,因为如果在此处测试,正则表达式显示相同的结果: http://regex.larsolavtorvik.com/

有人能指出正确的正则表达式吗?

1 个答案:

答案 0 :(得分:2)

尝试使用*跟这样的? quatifier懒惰:

StreamTitle='(.*?)'