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 回答