我想找到最后一个单词的第一个字母是否使用NSRegularExpression在NSString值中以Ampersand开头。 我使用了以下表达式,但它显示了最后一个单词匹配,即使&符号在最后一个单词中的任何位置。 请告诉我,我怎样才能实现它。 谢谢。
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;
}
答案 0 :(得分:1)
尝试"\\s[&]\\w+$"
模式。它应匹配空格分隔的单词,例如foo &bar
答案 1 :(得分:0)
尝试将“^”锚点添加到正则表达式的开头:
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"^[&]\\b\\w*$" options:NSRegularExpressionCaseInsensitive error:&error];