Как найти, если первый символ последнего слова в значении NSString - Ampersand, используя NSRegularExpression? - PullRequest
1 голос
/ 21 декабря 2011

Я хотел бы узнать, начинается ли первая буква последнего слова с амперсанда в значении NSString с помощью NSRegularExpression. Я использовал следующее выражение, но оно показывает соответствие последнего слова, даже если амперсанд находится где-то в последнем слове. Пожалуйста, посоветуйте мне, как мне этого добиться. Спасибо.

        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; 
} 

Ответы [ 2 ]

1 голос
/ 21 декабря 2011

Попробуйте "\\s[&]\\w+$" шаблон.Должно совпадать с пробелами, например foo &bar

0 голосов
/ 21 декабря 2011

Попробуйте добавить якорь «^» в начало вашего регулярного выражения:

NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"^[&]\\b\\w*$" options:NSRegularExpressionCaseInsensitive error:&error]; 
...