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