0
NSRegularExpressionを使用してオーディオストリームからICECASTデータを切り出しようとしていますが、私のパターンには一般的な問題があると思います。ここでICECASTデータのNSRegularExpressionパターン
は私のコードです:私はこれを得ることを期待する
StreamTitle='Thomas Newman - Awkward Talk [The Horse Whisperer]';StreamUrl='';
:
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);
は、入力されたと言う
Thomas Newman - Awkward Talk [The Horse Whisperer]
を私はこれを取得:
をThomas Newman - Awkward Talk [The Horse Whisperer]';StreamUrl='
ここでテストした場合、正規表現は同じ結果を示しているので、これは、NSRegularExpression関連ではありません。 http://regex.larsolavtorvik.com/
誰が正しい正規表現に私を指すもらえますか?
ところで:「ungreedy」オプションは、IOSのungreedyオプションを探しています...希望試合を強制... サンプルPHP: preg_match_all( '/ StreamTitle ='(。*) ';/iU'、 'StreamTitle =' MychaelとJeff Danna - Camelotの大ホール '; StreamUrl =' '; $ result); – decades
OK、クイック検索と自己回答:小さな引用符でトリックを行います。 の代わりに@ "StreamTitle = '(。*)';" 私は使用する必要があります @ "StreamTitle = '(。*?)';" トピックが閉じています – decades
あなたは少し疑問符を意味しますか? – borrrden