2012-02-22 5 views
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.

Любая идея, почему это, кажется, игнорирует самозакрывающийся тег?

Спасибо!

ответ

1

Вы должны указать двигателю регулярного выражения, чтобы сделать соответствие ..

Добавить NSRegularExpressionDotMatchesLineSeparators в options.

+0

в качестве примечания в случае, если кто-то еще это читает. Этот флаг не является частью NSString. Чтобы сделать эту работу, мне нужно создать фактическое NSRegularExpression. – itgiawa

1

. по умолчанию не соответствует новой строке.

Вы можете включить это, используя флаг NSRegularExpressionDotMatchesLineSeparators.

Смежные вопросы