正規表現を使用して文字列内の値を検索していますが、検索しようとしているのは次のようなものです。
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]]);
}