签名号码的模式

时间:2012-05-29 10:31:55

标签: android

这是我创建的用于接受带有5个整数和2个十进制数的十进制数的模式。

String pattern = "[0-9]{0,5}+([" + ds + "]{1}||[" + ds + "]{1}[0-9]{1,2})?";

ds是十进制格式符号。

如何修改它以接受负数?

感谢。

4 个答案:

答案 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})?$";