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的数字: 在此处输入图像描述在此处输入图像描述