首页 > 代码库 > 使用正则表达式寻找字符串中出现了几个[***]样式的字符串

使用正则表达式寻找字符串中出现了几个[***]样式的字符串

使用正则表达式寻找字符串中出现了几个[***]样式的字符串

源码如下:

- (NSUInteger)analyseRX:(NSString *)string withPatternString:(NSString *)patternString
{
    //     \\[[^\\]]+\\]  用以匹配字符串中所出现的 [*] 的个数
    //     <[^>]+>        用以匹配字符串中所出现的 <*> 的个数
    
    if (string == nil)
    {
        return 0;
    }
    
    // 正则表达式
    NSRegularExpression *regex =         [NSRegularExpression regularExpressionWithPattern:patternString
                                                  options:NSRegularExpressionCaseInsensitive
                                                    error:nil];
    // 执行相关匹配操作
    NSRange range = NSMakeRange(0, [string length]);
    NSUInteger numberOfMatches = [regex numberOfMatchesInString:string
                                                        options:0
                                                          range:range];
    
    // 返回匹配的个数
    return numberOfMatches;
}

比如,如果你想查询字符串中出现了几个[**]结构的字符串,就比如下面的字符串:

很简单吧,你也可以替换相关字符串哦.

 

心得:

这种字符串里面查找出现了某种样式模板的字符串就用正则表达式吧,其实你也别无它法了:)

 

附录:

http://stackoverflow.com/questions/8672525/regular-expression-in-objective-c