gpt4 book ai didi

ios - 正则表达式返回整个字符串 iOS NSRegularExpression

转载 作者:行者123 更新时间:2023-11-29 11:55:15 26 4
gpt4 key购买 nike

我似乎无法正常工作。我正在关注苹果文档。

我有一个这样的示例字符串:

NSString * testString = @"Server Error -4";

我有一个正则表达式如下:

NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"Server\\sError\\s(-?\\d+)" options:NSRegularExpressionCaseInsensitive error:&error];

当我这样做时:

[testString substringWithRange:[regex rangeOfFirstMatchInString:testString options:kNilOptions range:NSMakeRange(0, testString.length)]];

我得到了整个字符串。 (即范围匹配是从 0 到字符串的末尾)。知道我的正则表达式有什么问题吗?

最佳答案

您的表达式绝对没有问题 - 只是碰巧第一个匹配项覆盖了整个字符串。

从你的表达式结构来看,你想要做的是提取匹配的第一个捕获组:

NSTextCheckingResult *match = [regex firstMatchInString:testString
options:0
range:NSMakeRange(0, [testString length])];
NSRange range = [match rangeAtIndex:1];
NSString *errorCode = [testString substringWithRange:matchRange];

关于ios - 正则表达式返回整个字符串 iOS NSRegularExpression,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39380920/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com