Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.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
Ios 带小数点计算器的正则表达式_Ios_Regex_Nsregularexpression - Fatal编程技术网

Ios 带小数点计算器的正则表达式

Ios 带小数点计算器的正则表达式,ios,regex,nsregularexpression,Ios,Regex,Nsregularexpression,我正在制作一个计算器应用程序,希望验证我在表单中的输入: operand operator operand 这些操作数还可能包含小数点。我无法为它生成正则表达式。我试过这样的表达: @"^[-+]?(\\.[0-9])+([-+*/]+[-+]?(\\.[0-9])+)*$" 但这是行不通的。有人能为它推荐解决方案吗?检查这个正则表达式,它会工作的 ^[-+]?([0-9]+)[\\.0-9]+[-+*/+][-+]?([0-9]+)[\\.0-9]*$ 另外,如果您想在将来进行更改,下

我正在制作一个计算器应用程序,希望验证我在表单中的输入:

operand operator operand 
这些操作数还可能包含小数点。我无法为它生成正则表达式。我试过这样的表达:

@"^[-+]?(\\.[0-9])+([-+*/]+[-+]?(\\.[0-9])+)*$"

但这是行不通的。有人能为它推荐解决方案吗?

检查这个正则表达式,它会工作的

^[-+]?([0-9]+)[\\.0-9]+[-+*/+][-+]?([0-9]+)[\\.0-9]*$
另外,如果您想在将来进行更改,下面的链接是测试正则表达式的好工具


尝试更改从中查找数字的模式

(\\.[0-9])+


注意,此模式需要小数点前有一个数字,以及123等数字。或000。仍将被找到。

仅供参考-不要忘记,并非所有用户都使用小数点。对于小数分隔符。此部分\\.[0-9]+需要一个小数点,然后是一个数字,例如.1或.3.5.9,它找不到形式为123.456的数字。您认为什么数字表示合法?您是否接受以下所有条件:0.123、45、12。34?此数字模式[0-9.0-9]+可以作为“[\d.]”完成,您不需要在括号之间指定两次范围0-9。此外,此模式将错误地查找包含多个小数点的数字:123…35.234.297。小数点需要反斜杠,它当前使用任何字符,因此123和456将被接受为数字。小数点应在括号外,例如,它将接受:123…234.978,但当我们输入一个没有小数点的简单表达式时,它不起作用
\\d+\\.?\\d*