我使用^-\d*\.?\d+$
負數匹配。但是,這接受-0。 我想限制匹配-0的正則表達式。有人可以幫忙嗎? 在此先感謝。非零負數十進制數的正則表達式
2
A
回答
4
您可以使用
^-(?!0*\.?0+$)\d*\.?\d+$
^^^^^^^^^^^^
的(?!0*\.?0+$)
負向前查找失敗的比賽,如果該字符串只包含-
,然後一個int /浮點喜歡數字,表示零。
詳細:
^
- 串 開始
-
- 一個連字符(?!0*\.?0+$)
- 當前位置後,失敗,如果下面的模式匹配比賽:0*
- 零個或多個0
s\.?
- 任選.
0+
- 1以上0
小號$
- 串
的端
\d*
- 0+數字\.?
- 任選.
\d+
- 1位或更多位數$
- 字符串結尾。
+0
謝謝。它的工作完美。 – user3534857
2
也許正則表達式不是正確的工具。
var input = "-1234"; // or whatever
var num = +input;
if(isNaN(num)) throw new Error("Invalid input");
if(num >= 0) throw new Error("Only negative numbers allowed");
// num is a valid negative number. Done.
相關問題
- 1. 十進制數的正則表達式
- 2. 非零十六進制值的正則表達式
- 3. 正則表達式十六進制數
- 4. 正則表達式表示jquery的非十進制數值
- 5. 十進制值的正則表達式
- 6. 正則表達式 - 十進制的
- 7. 考慮指數的非十進制整數的正則表達式
- 8. 正則表達式來驗證.NET的非負十進制或空白?
- 9. 有限制的十進制數的正則表達式
- 10. 十進制正則表達式取負值
- 11. 正則表達式十進制到int
- 12. 正則表達式幫助十進制
- 13. 十進制正則表達式問題
- 14. Java十六進制正則表達式
- 15. 正則表達式 - 十進制
- 16. 十進制值的正則表達式限制16位數
- 17. 正則表達式:用十進制數字和數字匹配
- 18. 正則表達式十個數字,但不是十零
- 19. 正則表達式幫助:十進制正數,2位
- 20. 0或5的單位十進制數的正則表達式
- 21. 帶點和空白的十進制數的正則表達式
- 22. 正則表達式用逗號分隔的十進制數
- 23. 驗證十進制數的正則表達式
- 24. 有效2位十進制數的正則表達式
- 25. Yii中驗證十進制數的正則表達式
- 26. 從正則表達式字符串中的十進制數
- 27. 正則表達式爲字符串中的十進制數字
- 28. 獲取十進制數的正則表達式
- 29. 如何編寫捕獲十進制數的正則表達式?
- 30. 正則表達式序列的十進制數
如果數字爲-0.234,即數字以零開始但非零,該怎麼辦?你不想得到這個號碼嗎? –
我想要這個號碼匹配。我不想要像-0,-0.000,-00000000等任何匹配。任何零是不應該匹配。 – user3534857