1
":"の前後にテキストファイルとグループ情報を解析して、何が何に関連しているかを知ることができます。Objc Regex - グループを含む文字列をパースする
私は、次の
//NSString *pattern = @"\\[(.*?)\\]"; //[]
//NSString *pattern = @"(\\w+:)"; //word:
NSString *pattern [email protected]"(\\w+:)\\[(.*?)\\]";
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:pattern options:NSRegularExpressionCaseInsensitive error:nil];
NSString *input = contents; //contents being the value taken from the text file
NSMutableArray *matches = [NSMutableArray arrayWithCapacity:[myArray count]];
for (NSTextCheckingResult *match in myArray) {
//NSUInteger numberOfRanges = [match numberOfRanges];
//NSLog(@"%lu", (unsigned long)numberOfRanges);
NSRange matchRange = [match rangeAtIndex:1];
[matches addObject:[input substringWithRange:matchRange]];
NSLog(@"%@", [matches lastObject]);
}
「[]」作品や「言葉:」使用していた作品が、私はそれらを一緒に参加するとき、私は戻って何を取得します。
ブラケット(出力)
2016-03-26 09:20:36.302 LevelBuilder[14658:550234] 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1
...
2016-03-26 09:20:36.304 LevelBuilder[14658:550234] 17,1
ワード(出力)
2016-03-26 09:18:18.189 LevelBuilder[14464:543898] tiles:
2016-03-26 09:18:18.189 LevelBuilder[14464:543898] boxes:
2016-03-26 09:18:18.189 LevelBuilder[14464:543898] goals:
2016-03-26 09:18:18.189 LevelBuilder[14464:543898] start:
私はデータが
tiles:
[
[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1]
,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1]
,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1]
,[0,0,0,0,0,1,1,1,1,1,1,1,1,1,0,1,0,0,1]
,[1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,0,0,1]
,[1,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,1]
,[1,0,0,0,0,0,0,1,1,1,0,0,1,1,1,0,0,0,1]
,[1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,1]
,[1,0,0,1,1,1,1,1,1,1,1,1,1,0,1,0,0,0,1]
,[1,0,0,0,1,0,0,0,0,0,0,0,0,0,1,1,1,1,1]
,[1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
,[1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
,[1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
],
boxes: [
[5,6],[6,5],[10,5],[11,5],[16,4],[16,5],[16,6],[16,7]
],
goals: [
[1,8],[1,9],[1,10],[1,11],[2,10],[2,11],[3,10],[3,11]
],
start: [17,1]
一例であるパターン
NSString *pattern [email protected]"(\\w+:)\\[(.*?)\\]";
で何をしないのです
これは明らかではありません。おそらくあなたは['(?s)(\\ w +:)\\ s * \\ [。*?\\](?=、\ r?\ n | $)'](https://regex101.com/r/sT5oA9/1)? –
ありがとう@WiktorStribiżewそれは4つの個人的な一致としてそれらを持っています –
あなたはこの解決策を探していたという意味ですか? –