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