0

我正在尝试使用 NSRegularExpression 从 NSString 获取子字符串。我不想要匹配的数量或替换字符串,我想要匹配正则表达式的字符串

NSString *string = <a>www.apple.com</a>
NSError *error;
[NSRegularExpression regularExpressionWithPattern:@"(\b(https?|ftp|file)://)?[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]" options:NSRegularExpressionCaseInsensitive error:&error];
NSString *substring;

我正在寻找的是:

substring = www.apple.com;

我正在尝试尽可能少地使用 NSRange/NSMakeRange。任何人都可以帮助我吗?

4

1 回答 1

0
NSRange *range = [string rangeOfString:@"(\b(https?|ftp|file)://)?[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]" options:NSRegularExpressionSearch];
if(range.location!=NSNotFound) {
NSString *neededSubString = [String SubStringWithRange:range];
}

在这段代码中,我们首先获取匹配正则表达式的字符串范围。然后我们从该范围内获取子字符串

于 2015-01-15T08:49:20.433 回答