1
我一直試圖做一個reg EXP接受正則表達式不能從0開始,但可以爲0或0開始,
0.27878
0,8989
2.98889
但絕不能只用0
如088989383
開始。我使用^(?:\d+|\d{1,3}(?:,\d{3})+)(?:(\.|,)\d+)?$
。
任何解決方案..感謝
我一直試圖做一個reg EXP接受正則表達式不能從0開始,但可以爲0或0開始,
0.27878
0,8989
2.98889
但絕不能只用0
如088989383
開始。我使用^(?:\d+|\d{1,3}(?:,\d{3})+)(?:(\.|,)\d+)?$
。
任何解決方案..感謝
您可以使用
^(?!0+[1-9])(?:\d+|\d{1,3}(?:,\d{3})+)(?:[.,]\d+)?$
見regex demo。 (?!0+[1-9])
負向超前將失敗所有以1或多個零開始的字符串,後跟0
以外的數字。
如果你想失敗00.825
相同的編號,與(?!0\d)
代替先行:
^(?!0\d)(?:\d+|\d{1,3}(?:,\d{3})+)(?:[.,]\d+)?$
圖案的詳細資料
^
- 串(?!0+[1-9])
- 負前瞻失敗,與1個或多個零開頭的字符串所遵循與其他比0
(或(?!0\d)
將無法全部數字當一個數字以0
跟隨任何數字時的情況)(?:\d+|\d{1,3}(?:,\d{3})+)
- 兩種替代方案: 個
\d+
- 1或多個數字|
- 或\d{1,3}
- 1至3位數(?:,\d{3})+
- 1以上的,
連續出現,然後任何3位數字(?:[.,]\d+)?
- 一個可選序列.
或,
然後一個或多個數字$
- 字符串結尾。工作就像一個魅力..謝謝 – Gang13
是允許的是 2.3903093和 29034,0.33323,0333 不允許:2,078778 – Gang13
用['^(?0 + [1-9])(?:\ d + | \ d {1,3}:+)(:(\ |,?)\ d +)$'](https://regex101.com/r/lMB2R1/2)(\ d {3}?)?。 '(?!0+ [1-9])'負向前視將會失敗所有以1或更多零開始並且跟着非0數字的字符串。 –
@wiktorStribizew ..感謝您的解決方案。現在正在工作 – Gang13