Objective-C中的正则表达式语法
我到处都找过了,找不到一个解决这个问题的办法 我有:Objective-C中的正则表达式语法,objective-c,regex,Objective C,Regex,我到处都找过了,找不到一个解决这个问题的办法 我有: - (BOOL) textFieldShouldEndEditing:(UITextField *)textField { NSString *regEx = @"/^[1-9]\d*(\.\d+)?$/"; NSRange r = [textField.text rangeOfString:regEx options:NSRegularExpressionSearch]; if (r.location == NSN
- (BOOL) textFieldShouldEndEditing:(UITextField *)textField {
NSString *regEx = @"/^[1-9]\d*(\.\d+)?$/";
NSRange r = [textField.text rangeOfString:regEx options:NSRegularExpressionSearch];
if (r.location == NSNotFound) {
UIAlertView *av = [[UIAlertView alloc] initWithTitle:@"Entry Error"
message:@"Enter only numbers or decimals"
delegate:self
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[av show];
return NO;
} else {
return YES;
}
}
但是正则表达式不起作用。我希望它只接受数字和小数。我知道正则表达式的代码中有一些奇怪的差别,你必须在反斜杠或其他东西上加倍,但我不明白。删除开头的[1-9]和前斜杠,并避开反斜杠,这样就可以:
"^\\d*(\\.\\d+)?$"
看