0

私は正規表現に取り組んでいますが、どこを検索しても、電子メールを検証するためのコードと説明が得られます。今、私はこのようなことをしなければなりません

ファイルの内容はこんな感じです(ファイル形式は.rtf、.txt...などでも構いません)

[Title:languageC] [Author:Dennis Ritchie] [Description:this book is nice to learn the C language]

このファイルから今すぐ言語を抽出したい C、デニス・リッチー、この本は C 言語を学ぶのに最適です。NSStrings、NSScanner、および NSRange を使用してこれを達成しましたが、正規表現を使用してこれと同じことを達成したいと考えています。

4

2 に答える 2

1
NSString *regexStr = @"\[Title:([.]+)\][ ]+\[Author:([.]+)\][ ]+\[Description:([.]+)\]";

NSError *error;
NSRegularExpression *testRegex = [NSRegularExpression regularExpressionWithPattern:regexStr options:0 error:&error];

if( testRegex == nil ) NSLog( @"Error making regex: %@", error );

NSTextCheckingResult *result = [testRegex firstMatchInString:test options:0 range:NSMakeRange(0, [test length])];

NSRange range = [result rangeAtIndex:1]; // This will give you Title,
于 2012-08-01T07:22:08.237 に答える
0

次のような正規表現を使用する必要があります。

/\[[^:]+:([^]])\]/

例えば:

NSError *error;
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"\[[^:]+:([^]])\]" options:0 error:&error];
NSArray* matches = [regex matchesInString:YOUR_STR options:0 range:NSMakeRange(0, [YOUR_STRING length]);
于 2012-08-01T07:22:09.593 に答える