1

NSRegularExpression を使用して、NSString 値の最後の単語の最初の文字がアンパサンドで始まるかどうかを調べたいと思います。次の式を使用しましたが、アンパサンドが最後の単語のどこかにある場合でも、一致する最後の単語を示します。どうすればそれを達成できるかアドバイスしてください。ありがとうございました。

        BOOL flagSymbolFound = NO; 
NSError *error = NULL;
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"[&]\\b\\w*$" options:NSRegularExpressionCaseInsensitive error:&error]; 
if(!error) { 
    NSUInteger numberOfMatches = [regex numberOfMatchesInString:stringValue options:0 range:NSMakeRange(0, [stringValue length])];
          if(numberOfMatches > 0) 
              flagSymbolFound = YES; 
          else 
              flagSymbolFound = NO; 
} 
4

2 に答える 2

1

"\\s[&]\\w+$"パターンを試す。スペースで区切られた単語と一致する必要があります。foo &bar

于 2011-12-21T18:16:12.173 に答える
0

正規表現の先頭に「^」アンカーを追加してみてください。

NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"^[&]\\b\\w*$" options:NSRegularExpressionCaseInsensitive error:&error]; 
于 2011-12-21T17:01:11.450 に答える