如何在Objective-C中检查正则表达式是否有效?

时间:2017-10-03 12:02:20

标签: ios objective-c regex

我从API获得了一个正则表达式。我需要验证正则表达式是否有效。

这是一个示例正则表达式模式:

/^[a-z0-9_-]{6,18}$/

我需要验证此字符串。

修改:我使用了无效的正则表达式[尝试了initwithpattern,但它没有抛出任何错误。

1 个答案:

答案 0 :(得分:2)

您应该使用给定的正则表达式模式初始化NSRegularExpression的实例,并检查NSRegularExpression是否为NULL

NSString *regexString = @"/^[a-z0-9_-]{6,18}$/";
NSError *error = NULL;
NSRegularExpression *regex = 
    [NSRegularExpression regularExpressionWithPattern:regexString 
                                              options:0 
                                                error:&error];

if (!regex) {
    //regex is invalid
}