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='
http://regex.larsolavtorvik.com/でテストした場合、正規表現は同じ結果を示すため、これはNSRegularExpressionに関連していません。
誰かが私に正しい正規表現を教えてもらえますか?