OC怎么使用正则表达式类似lua的-获取最短字符
时间: 2024-01-09 20:03:40 浏览: 130
字符串最小表示法
在 Objective-C 中,可以使用 NSRegularExpression 类来进行正则表达式匹配。要获取最短的字符,可以使用非贪婪匹配,即在匹配规则中使用 "?"。
例如,下面的代码可以用来获取一个字符串中第一个匹配的最短的连续数字序列:
```objc
NSString *string = @"ab123cd456ef";
NSError *error = NULL;
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"\\d+?" options:0 error:&error];
NSTextCheckingResult *match = [regex firstMatchInString:string options:0 range:NSMakeRange(0, [string length])];
if (match) {
NSString *result = [string substringWithRange:match.range];
NSLog(@"%@", result); // 输出:123
}
```
在上面的正则表达式中,"\\d+" 表示匹配一个或多个数字,而 "?" 则表示进行非贪婪匹配。
阅读全文