java中正数和负数十进制的正则表达式
正负十进制值的正则表达式,以便可以使用模式和匹配器匹配字符串,以便正确实现,任何人都可以为我提供
(\+|-)?([0-9]+(\.[0-9]+))
试试这个! 我也用这种方式
"^-?[0-9]{1,12}(?:\.[0-9]{1,4})?$"
规则:
ex: ^-?[0-9]{1,12}(?:\.[0-9]{1,4})?$ ^ # Start of string [0-9]{1,12} # Match 1-12 digits (ie 0-999999999999) (?: # Try to match... \. # a decimal point [0-9]{1,4} # followed by one to three digits (ie 0-9999) )? # ...optionally $ # End of string
尝试这个:
[+-]?\d+\.\d+
+ (BOOL)isStringADecimalNumber:(NSString *)string { NSString *regex = @"([+]|-)?(([0-9]+[.]?[0-9]*)|([0-9]*[.]?[0-9]+))"; NSPredicate *test = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex]; BOOL stringIsADecimalNumber = [test evaluateWithObject:string]; return stringIsADecimalNumber; }
下面突出显示的是此正则表达式返回TRUE
的数字: