我正在尝试使用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/
有人能指出正确的正则表达式吗?
答案 0 :(得分:2)
尝试使用*
跟这样的?
quatifier懒惰:
StreamTitle='(.*?)'