4

我有一个像 @"random ++qwerty/asdf" 这样的字符串,我想找出 qwerty 部分。“random ++”和“/asdf”总是相同的。我将如何使用正则表达式来做到这一点?我对它们的工作方式感到困惑。

4

1 回答 1

14

问题解决了 !!

这段代码给出了你想要的,

NSString *yourString = @"random ++qwerty/asdf random ++derty/asdf random ++noty/asdf";
NSError *error = NULL;

NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"random \\+\\+(\\w+)/asdf" options:NSRegularExpressionCaseInsensitive error:&error];


[regex enumerateMatchesInString:yourString options:0 range:NSMakeRange(0, [yourString length]) usingBlock:^(NSTextCheckingResult *match, NSMatchingFlags flags, BOOL *stop){

    // detect
    NSString *insideString = [yourString substringWithRange:[match rangeAtIndex:1]];

    //print
    NSLog(@"%@",insideString);

}];


输出:
qwerty
derty
noty

于 2013-05-10T20:00:34.927 回答