Можно ли с помощью 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)
, который также определяет поиск без учета регистра, но опять же без учета регистра. Чего мне не хватает?