Я использую регулярные выражения, чтобы найти некоторые значения в строке, однако то, что я пытаюсь найти, выглядит примерно так:
Dealt to SanderDecler [2s 5d]
Но я не могу найти способ избежать этих квадратных скобок, у меня раньше была такая же проблема с круглыми скобками. Я пытался убежать от них, как это \ (или \ [, но это не дало никаких совпадений. Поэтому я просто заменил это на точку, и это действительно совпадало, однако, это не кажется лучшим способом сделайте это, и я могу себе представить, что для производительности лучше также указать точный символ ...
Итак, мой вопрос, как я могу сопоставить паратезы и квадратные скобки?
Вот как теперь выглядит мой код, это работает, но не оптимально:
NSString *expression =
@"^Dealt to (.{1,12}) .([0-9TJKQA][cdhs]) ([0-9TJKQA][cdhs]).";
NSRegularExpression *regex =
[NSRegularExpression regularExpressionWithPattern:expression
options:NSRegularExpressionAnchorsMatchLines
error:nil];
for (NSTextCheckingResult *result in [regex matchesInString:history options:NSMatchingReportCompletion range:NSMakeRange(0, history.length)])
{
NSLog(@"%@", [history substringWithRange:[result rangeAtIndex:0]]);
}