Regex 避免负值的正则表达式
我对创建自己的正则表达式是完全陌生的。我的团队成员中有一名reg ex,如下所示Regex 避免负值的正则表达式,regex,Regex,我对创建自己的正则表达式是完全陌生的。我的团队成员中有一名reg ex,如下所示 ^\s*-?\d{1,3}(\.\d{1,4})?\s*$ 这将确保输入的值最多有3位数字,并且可能有负号,也可能没有负号 如果我使用一个值进行测试,“-1000”,它将表示输入的值不符合要求,并且会向用户显示一个错误 我需要修改表达式,以便: 如果有“-”号,它可以有3个以上的数字和小数。[但是如果用户输入“-”和任何字母,它应该不匹配]您可以将其更改为此: ^\s*(\d{1,3}|-\d+)(\.\d
^\s*-?\d{1,3}(\.\d{1,4})?\s*$
这将确保输入的值最多有3位数字,并且可能有负号,也可能没有负号
如果我使用一个值进行测试,“-1000”,它将表示输入的值不符合要求,并且会向用户显示一个错误
我需要修改表达式,以便:
如果有“-”号,它可以有3个以上的数字和小数。[但是如果用户输入“-”和任何字母,它应该不匹配]
您可以将其更改为此:
^\s*(\d{1,3}|-\d+)(\.\d{1,4})?\s*$
(a | b)
形式中的第一部分表示a
或b
。它表示逗号前的部分是
- 1至3位数字
- 或
后跟至少一位数字-
(或)运算符
^(\d{1,3}([.]\d{1,4})?|-\d+([.]\d+)?)$
谢谢,你能解释一下你为什么修改下面这个吗?
^\s*(\d{1,3}-\d{1,4})(\.\d{1,4})?\s*$
我只是觉得\d+
比\d{1,}
更干净。这是一样的。