1、IOS中通过NSRegularExpression进行正则表达式匹配,例如:希望获取字符串开头的数字,数字为1-3位,代码如下:
<span style="white-space:pre"> </span>NSString *drugDosageStr = @"555(毫克)";//剂量的数值最多三位
NSError *error;
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"[0-9]{3,}" options:0 error:&error];
if (regex != nil)
{
NSArray *array = [regex matchesInString: drugDosageStr
options: 0
range: NSMakeRange( 0, [drugDosageStr length])];
for (NSTextCheckingResult *match in array)
{
NSRange firstHalfRange = [match rangeAtIndex:0];
NSString *result1=[drugDosageStr substringWithRange:firstHalfRange];
_dosageText.text = result1;//匹配出来的剂量数值,如555
_dosageUnitLab.text = [drugDosageStr substringFromIndex:[result1 length]];//匹配出来的剂量单位,如(毫克)
break;
}
}
2、常用的正则表达式可参考:常用正则表达式集