我使用RegexKitLite来匹配一些文本:
xxx*abc*xxx
我想要匹配abc,并使用这个规则:
NSString *result = [@"xxx[abc]xxx" stringByMatching:@"\\[(.*)?\\]" capture:1];
然后,结果是abc.But,如果其中有行中断:
xxxab cxxx
这不管用。我使用的是(\s\S*),也不是数学abc。我怎样才能匹配这段文字?谢谢
发布于 2011-07-16 07:35:12
默认情况下,.不匹配新行。你可以用
... stringByMatching:@"(?s:\\[(.*)?\\])" ...
// ^^^^ ^或向RKLDotAll选项提供-stringByMatching:options:inRange:capture:error:方法。
或者,您可以使用贪婪的变体。
@"\\[([^\\]]*)\\]" // \[ ( [ ^\] ] ) \]https://stackoverflow.com/questions/6716018
复制相似问题