我正在使用正则表达式在字符串中查找一些值,但是,我要查找的内容如下所示:
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]]);
}