我使用RegexKitLite来匹配某些文本:
XXX * [ABC] * XXX
我希望匹配[abc],并使用此常规:
NSString *result = [@"xxx[abc]xxx" stringByMatching:@"\\[(.*)?\\]" capture:1];
然后,结果是[abc]。但是,如果在那里有换行符:
XXX [AB C] XXX
它不起作用。 我用([\ s \ S] *),也不算数学[abc]。 我该如何匹配此文本? 谢谢
答案 0 :(得分:0)
默认情况下,.
与新行不匹配。你可以用
... stringByMatching:@"(?s:\\[(.*)?\\])" ...
// ^^^^ ^
或使用RKLDotAll方法提供-stringByMatching:options:inRange:capture:error:选项。
或者,你可以使用贪婪的变种
@"\\[([^\\]]*)\\]" // \[ ( [ ^\] ] ) \]