たとえば、@"javascript:viewData(3713, 'A', 89360)"
文字列があります。javascript呼び出し関数を検出するregEx式
文字列から3713、Aおよび89360を抽出したいとします。
Javaの場合、「viewData\(([^\(]*),[\s\S]\'([^\(]*)\',[\s\S]([^\(]*)\)
」はこれらの文字列を正常に抽出できます。
ただし、iOS Objective-Cで正常に抽出できませんでした。
私のコードは以下の通りです:
NSString *searchedString = @"javascript:viewData(3713, 'A', 89360)";
NSRange searchedRange = NSMakeRange(0, [searchedString length]);
NSString *pattern = @"<HERE THE PATTERN NEEDED>";
NSError *error = nil;
NSRegularExpression* regex = [NSRegularExpression regularExpressionWithPattern:pattern options:0 error:&error];
NSTextCheckingResult *match = [regex firstMatchInString:searchedString options:0 range:searchedRange];
その後、マッチした文字列として次のようになりますように
[searchedString substringWithRange:[match rangeAtIndex:1]]
...と。
どのようにパターンを設定できますか?
更新あなたの質問:
は、しかし、あなたはすべてのバックスラッシュをエスケープする必要があります。得られた結果を表示します。 – rmaddy