Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中正十进制值和负十进制值的正则表达式_Java_Regex - Fatal编程技术网

java中正十进制值和负十进制值的正则表达式

java中正十进制值和负十进制值的正则表达式,java,regex,Java,Regex,用于正负十进制值的正则表达式,以便 使用模式和匹配器与字符串匹配,以实现正确的实现 有谁能给我提供这个试试这个: [+-]?\d+\.\d+ 试试这个!我也用过这种方法 "^-?[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) (?

用于正负十进制值的正则表达式,以便 使用模式和匹配器与字符串匹配,以实现正确的实现 有谁能给我提供这个

试试这个:

[+-]?\d+\.\d+

试试这个!我也用过这种方法

"^-?[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
下面突出显示的是返回此正则表达式的
TRUE
的数字:

请注意,这将无法识别诸如“.4”(无前导零)或“10”(无小数)之类的模式。但考虑到“问题”的模糊性,我不知道这是否是个问题;既然OP说的是“小数点”,我认为小数点是必须的,但我也不确定可选的整数威尔,如果我们使用强制小数点,它总是可以作为“[+-]?\d*\.\d+”来完成。处理可选的前导0,至少。'Decimal'不表示非整数。如果OP说的是“二进制”或“八进制”呢?所有这些限定符只是限制了数字的范围。所有这些数字都可能有分数,也可能没有分数。@BlairHippo给出了我能找到的最接近实际的答案。让我非常接近@“^(+-]?\d*\.\d+$”将第二个+替换为*以匹配“.4”之类的内容(归功于下面错误答案中的注释)。对于任何使用此方法对数字文本框进行验证的人,如果您的正则表达式引擎支持它,您可以使用开始和结束锚来包装表达式,如
^(+\\-)?([0-9]+(\.[0-9]+)$
@kevin628请记住,某些正则表达式引擎需要打开一个标志才能使用这些开始和结束锚。例如,我知道Java正则表达式需要(?m)在开始时使用
^
$
符号。
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
+ (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;
}