【发布时间】:2015-10-03 20:52:46
【问题描述】:
我正在尝试执行以下正则表达式:^(\$.)([\d]{1,10})?
https://regex101.com 处的$C14325 字符串的结果是[0-2]:"$C" 和[2-7]:"14325"。
但是,当我使用NSRegularExpression 执行以下代码时,它会作为单个匹配项返回,而不是一个组。
基本上,我正在尝试对这些结果进行分组,并找到一种方法,什么结果对应于哪个正则表达式。
NSString *regexStr=@"^(\\$.)([\\d]{1,10})?";
NSString *inputStr=@"$C14325";
NSError *regexError;
NSRegularExpression *aRegx=[NSRegularExpression regularExpressionWithPattern:regexStr options:NSRegularExpressionCaseInsensitive error:®exError];
NSArray *results=[aRegx matchesInString:inputStr options:0 range:NSMakeRange(0, inputStr.length)];
Named capture groups with NSRegularExpression 有答案,但我认为如果rangeAtIndex 找不到值,它会抛出异常。
【问题讨论】:
标签: ios objective-c regex nsregularexpression