largeQ
2023-09-14 22:05:00
我正在使用下面的正則表達式來驗證金錢,效果很好。^\d{1,3}(,\d{3})*$現在我想添加最低金額,就像最低金額應該是20,000 任何人都可以幫助我嗎?小提琴: https: //regexr.com/5h5bf小提琴已更新為正確的表達
1 回答

哆啦的時光機
TA貢獻1779條經驗 獲得超6個贊
閱讀評論,我不確定正則表達式是否會成為您前進的方向,但您似乎已經下定決心。您似乎希望驗證一個以逗號分隔的字符串,該字符串需要從 20,000 開始,其中數字的每個第二部分都是 3 位數字長。我想出了:
^(?:[2-9]\d|[1-9]\d\d|[1-9],\d{3})(?:,\d{3})+$
查看在線演示
^
- 開始弦錨。(?:
- 打開第一個非捕獲組。[2-9]\d
- 2-9 范圍內的數字,后跟任意數字。|
- 或者。[1-9]\d\d
- 1-9 范圍內的數字,后跟任意兩位數字。|
- 或者。[1-9],\d{3}
- 1-9 范圍內的數字,后跟逗號和任意三位數字。)
- 關閉第一個非捕獲組。(?:
- 打開第二個非捕獲組。,\d{3}
- 逗號后跟任意三位數字。)+
- 關閉第二個非捕獲組并至少重復一次。$
- 結束弦錨。
作為替代方案,您也可以使用前瞻,例如:
^(?=.{6,})(?!1.{5}$)[1-9]\d?\d?(?:,\d{3})+$
查看在線演示
^
- 開始弦錨。(?=.{6,}
- 正向預測 6 個或更多字符。(?!1.{5}$)
- 負向前查找 1 后跟 5 個字符,直到字符串結束。[1-9]\d?\d?
- 1-9 范圍內的數字,后跟兩個可選數字(也可以寫[1-9]\d{0,2}
)。(?:
- 打開第二個非捕獲組。,\d{3}
- 逗號后跟任意三位數字。)+
- 關閉非捕獲組并至少重復一次。$
- 結束弦錨。
添加回答
舉報
0/150
提交
取消