这是我创建的模式,用于接受具有 5 个整数和 2 个十进制数的十进制数。
String pattern = "[0-9]{0,5}+([" + ds + "]{1}||[" + ds + "]{1}[0-9]{1,2})?";
ds
是十进制格式符号。
如何修改它以接受负数?
谢谢。
这是我创建的模式,用于接受具有 5 个整数和 2 个十进制数的十进制数。
String pattern = "[0-9]{0,5}+([" + ds + "]{1}||[" + ds + "]{1}[0-9]{1,2})?";
ds
是十进制格式符号。
如何修改它以接受负数?
谢谢。
String pattern = "[-+]?[0-9]{0,5}([.]{1}[0-9]{1,2})?"
加[-+]?
在前面,把你有的放在中间()
。
如果我写正则表达式,我会这样写:[-+]?(\\d{0,5}\\.\\d{1,2}|\\d{1,5}\\.\\d{0,2})
它将匹配这些边界情况:
.5
6.
.43
0.
05.50
但它会拒绝.
。
假设负数以“-”号开头,您只需将其放在开头:
String pattern = "-?([0-9]{0,5}+([" + ds + "]{1}||[" + ds + "]{1}[0-9]{1,2})?)";
请注意,我没有检查模式其余部分的有效性,只是展示了如何在其他所有内容之前添加减号。
尝试这个。
String pattern = "^[-+]?\d{1,5}(\.\d{1,2})?$";