我想使用目标c从HTML中删除所有脚本标记。
我写了这个reg ex:
html1 = [html1 stringByReplacingOccurrencesOfString:@"<script.+?</script>" withString:@"xxx" options: NSRegularExpressionCaseInsensitive|NSRegularExpressionSearch | NSRegularExpressionDotMatchesLineSeparators range:NSMakeRange (0, [html1 length])];
这对没有新行的字符串有用,例如:
html1 = @"<script> blah blah </script>";
但是使用新行的字符串失败,例如:
html1 = @"<script> blah \n blah </script>";
任何人都知道我做错了什么?
谢谢!
ps我知道这在嵌套脚本标签上失败了。
答案 0 :(得分:1)
我不相信这些正则表达式选项(例如NSRegularExpressionDotMatchesLineSeparators
)对stringByReplacingOccurrencesOfString:withString:options:
有效 - AFAIK,NSRegularExpressionSearch
只提供基本正则表达式支持。对于更高级的正则表达式,您将需要使用NSRegularExpression类。