這是我創建的模式,用於接受具有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}+([" + ds + "]{1}||[" + ds + "]{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 = "^[-+]?\d{1,5}(\.\d{1,2})?$";
String pattern = "[-+]?[0-9]{0,5}([.]{1}[0-9]{1,2})?"