1

私はobjective-cでこの正規表現を持っています

NSString* searchString = [searchBlock stringByReplacingOccurrencesOfString:@"<(.*?)>" withString:@"" options: NSRegularExpressionSearch range:NSMakeRange (0, [searchBlock length])];

コードは、先のとがった角かっこ<>の間にあるすべてのものを削除する必要があり、ほとんどの場合は機能するようですが、この場合は失敗するようで、理由はわかりません。

<a href="http://www.twitter.com/starkpo">
        <img height="120" width="124" alt="Follow us @starkpo." style="border: 0;"
        src="http://www.thestarkingtonpost.com/wp-content/uploads/2009/09/twitter-master.jpg" 
        title="Join us on Twitter" />
    </a>
    <p style="font-size: 11px; line-height: 17px; margin: 0; padding: 0 4px 5px;">Follow us @starkpo.</p></div>

戻り値:

<img height="120" width="124" alt="Follow us @starkpo." style="border: 0;"
        src="http://www.thestarkingtonpost.com/wp-content/uploads/2009/09/twitter-master.jpg" 
        title="Join us on Twitter" />

    Follow us @starkpo.

予想される答えは、プレーンテキストを返すことです。@starkpoをフォローしてください。

自己終了タグを無視しているように見える理由はありますか?

ありがとう!

4

2 に答える 2

1

.正規表現エンジンにも改行を一致させるように指示する必要があります。

に追加NSRegularExpressionDotMatchesLineSeparatorsoptionsます。

于 2012-02-22T03:47:39.980 に答える
1

.デフォルトでは改行と一致しません。

NSRegularExpressionDotMatchesLineSeparatorsフラグを使用してこれを有効にできます。

于 2012-02-22T03:48:38.497 に答える