正负十进制值的正则表达式,以便可以 使用模式和匹配器与字符串匹配以正确实现 任何人都可以为我提供
答案 0 :(得分:13)
(\+|-)?([0-9]+(\.[0-9]+))
答案 1 :(得分:7)
试试吧!我也用过这种方式
"^-?[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 (i. e. 0-999999999999)
(?: # Try to match...
\. # a decimal point
[0-9]{1,4} # followed by one to three digits (i. e. 0-9999)
)? # ...optionally
$ # End of string
答案 2 :(得分:3)
试试这个:
[+-]?\d+\.\d+
答案 3 :(得分:1)
+ (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
的数字: