static NSRegularExpression *isRichContentRegex;
static NSError *regexError = NULL;
@implementation MkContentUtils
+(void)initialize{
if(isRichContentRegex == nil)
{
isRichContentRegex = [isRichContentRegex initWithPattern:@"<(?!br|p)+[^>]*>" options:NSRegularExpressionCaseInsensitive error:®exError];
// isRichContentRegex = [NSRegularExpression regularExpressionWithPattern:@" (?!br|p)+[^>]*>"
// options:NSRegularExpressionCaseInsensitive
// error:NULL];
NSLog(@"isrichcontent_pattern:%@",isRichContentRegex.pattern);
}
打印日志是:isrichcontent_pattern:(null)为什么表达式仍然是零?static NSRegularExpression always nil
很容易,因为这个'<(?!br|p)+[^>] * >'正则表达式是无效的,因此你得到一个'nil'指针。你应该做一个正确的正则表达式,你会得到一个有效的对象。 – holex 2012-08-12 08:14:12
谢谢@holex – 2012-08-12 08:23:50
我已将其修正为<(!!/?(br | p | i | b | strong))[^>] *> – 2012-08-12 08:27:41