我在objective-c
中有这个正则表达式NSString* searchString = [searchBlock stringByReplacingOccurrencesOfString:@"<(.*?)>" withString:@"" options: NSRegularExpressionSearch range:NSMakeRange (0, [searchBlock length])];
代码应该删除尖括号之间的所有内容&lt;&gt;它似乎在大部分时间都有效,但似乎在这种情况下失败了,我不确定原因:
<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。
知道为什么它似乎忽略了自闭标签?
谢谢!
答案 0 :(得分:1)
您需要告诉正则表达式引擎使.
匹配换行符。
将NSRegularExpressionDotMatchesLineSeparators
添加到options
。
答案 1 :(得分:1)
.
与换行符不匹配。
您可以使用NSRegularExpressionDotMatchesLineSeparators
标志启用此功能。