參考如下方法說明:
//提取字符串
+ (void)extractStr{
NSString *orignalStr = @"eos:cobowalletio?memo=1e892fee";
NSString *regStr = @"[:|=]([^\?]){0,}";
NSRegularExpression *regEx = [[NSRegularExpression alloc] initWithPattern:regStr options:NSRegularExpressionAllowCommentsAndWhitespace error:nil];
NSMutableArray* stringArray = [[NSMutableArray alloc] init];
[regEx enumerateMatchesInString:orignalStr options:NSMatchingReportCompletion range:NSMakeRange(0, orignalStr.length) usingBlock:^(NSTextCheckingResult * _Nullable result, NSMatchingFlags flags, BOOL * _Nonnull stop) {
//從NSTextCheckingResult類中取出range屬性
NSRange range = result.range;
NSLog(@"range=== %@",@(range.length));
if (range.length>0) {
/*
這里處理一下目木,不處理將返回如下
:cobowalletio,
=1e892fee
*/
range.location = range.location+1;
range.length = range.length -1;
//從原文本中將字段取出并存入一個NSMutableArray中
[stringArray addObject:[orignalStr substringWithRange:range]];
}
}];
NSUInteger number = [regEx numberOfMatchesInString:orignalStr options:NSMatchingReportCompletion range:NSMakeRange(0, orignalStr.length)];
//這里如果number大于0說明字符串符合正則規(guī)則
NSLog(@"number == %@",@(number));
NSLog(@"%@",stringArray);
}