0
static NSRegularExpression *isRichContentRegex;
static NSError *regexError = NULL;

@implementation MkContentUtils

+(void)initialize{
if(isRichContentRegex == nil)
{
    isRichContentRegex = [isRichContentRegex initWithPattern:@"<(?!br|p)+[^>]*>"         options:NSRegularExpressionCaseInsensitive error:&regexError];
//      isRichContentRegex = [NSRegularExpression regularExpressionWithPattern:@"            (?!br|p)+[^>]*>" 
//                                                                     options:NSRegularExpressionCaseInsensitive
//                                                                      error:NULL];
    NSLog(@"isrichcontent_pattern:%@",isRichContentRegex.pattern);
}

打印日志是 :isrichcontent_pattern:(null) 为什么表达式仍然为零?

4

1 回答 1

3

你从不分配一个对象,NSRegularExpression所以你调用which 保证返回:initnilnil

isRichContentRegex = [isRichContentRegex initWithPattern:@"<(?!br|p)+[^>]*>"         options:NSRegularExpressionCaseInsensitive error:&regexError];

将其更改为:

isRichContentRegex = [[NSRegularExpression  alloc] initWithPattern:@"<(?!br|p)+[^>]*>"         options:NSRegularExpressionCaseInsensitive error:&regexError];
于 2012-08-12T08:04:04.133 回答