2011-07-16 9 views
0

をLINEBREAK:は、私はいくつかのテキストを一致させるために使用RegexKitLiteだ

XXX * [ABC] * xxxの

と私は[ABC]を一致させると、この正規を使用したい:

NSString *result = [@"xxx[abc]xxx" stringByMatching:@"\\[(.*)?\\]" capture:1];

そこに改行がある場合、その後、その結果は、[ABC] .Butある:

XXX [AB c] xxx

これはうまく機能しません。 私は([\ s \ S] *)を使用していますが、数学[abc]も使用していません。 このテキストはどのように一致させることができますか? ありがとうございます

答えて

0

.はデフォルトで改行に一致しません。あなたは

... stringByMatching:@"(?s:\\[(.*)?\\])" ... 
//      ^^^^   ^

を使用するか、-stringByMatching:options:inRange:capture:error:方法でRKLDotAllオプションを供給することができます。

また、あなたは貪欲なバリアントを使用することができます

@"\\[([^\\]]*)\\]" // \[ ( [ ^\] ] ) \] 
関連する問題