那么最明显的事情是:
@"\\{\\{|\\}\\}|\\[\\[|\\]\\]"
从字面上看,它只是指定匹配{{
or}}
或[[
or ]]
,因为 {、}、[ 和 ] 都是通常指定正则表达式的语法的所有部分,并且因为斜线本身需要在字符串文字中转义,所以各种斜线潜入其中。
所以例如
NSRegularExpression *expression = [NSRegularExpression
regularExpressionWithPattern:@"\\{\\{|\\}\\}|\\[\\[|\\]\\]"
options:0
error:nil];
NSString *initialString = @"[[hi]] {{this}} {is} [a] {{string}}";
NSString *finalString =
[expression
stringByReplacingMatchesInString:initialString
options:0
range:NSMakeRange(0, [initialString length])
withTemplate:@""];
NSLog(@"final string: %@", finalString);
输出:
2013-05-09 00:15:57.699 Untitled[1064:707] final string: hi this {is} [a] string