NSRegularExpression, указать регистрозависимое соответствие? - PullRequest
4 голосов
/ 08 февраля 2012

Можно ли с помощью NSRegularExpression указать, что вы хотите выполнять поиск с учетом регистра? Я пытаюсь сопоставить верхний регистр TAG "ACL" в тексте ниже. Шаблон, который я использую, просто:

// Pattern
[A-Z]+

// SearchText
<td align=\"left\" nowrap><font face=\"courier, monospace\" size=\"-1\">ACL*</font></td>

// Code:
NSString *textBuffer = @"<td align=\"left\" nowrap><font face=\"courier, monospace\" size=\"-1\">ACL*</font></td>";
NSString *pattern = @"([A-Z]+)";
NSRegularExpression *regExp = [NSRegularExpression regularExpressionWithPattern:pattern options:NSRegularExpressionCaseInsensitive error:nil];
NSTextCheckingResult *result = [regExp firstMatchInString:textBuffer options:0 range:NSMakeRange(0, [textBuffer length])];
NSLog(@"OBJECT CLASS: %@", [textBuffer substringWithRange:[result range]]);

Вывод: (с учетом регистра я получаю первый «td», как и ожидалось, когда я действительно хочу «ACL»

Я знаю, что NSRegularExpressionCaseInsensitive не так, я надеялся, что будет NSRegularExpressionCaseSensitive. Также есть flagOption ?(i), который также определяет поиск без учета регистра, но опять же без учета регистра. Чего мне не хватает?

1 Ответ

11 голосов
/ 08 февраля 2012

Чувствительный к регистру является значением по умолчанию.Не ставьте нечувствительный флаг там.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...