羣裏有小夥伴發了一道正則的題目。
html
解法以下:測試
^([1-9][0-9]*)+(\.[0-9]{1,2})$
問題來了,$ 前面要不要加問號呢?
改成以下:code
^([1-9][0-9]*)+(\.[0-9]{1,2})?$
能夠看出這個正則兼容了整數。htm
從最終用戶的角度來說,加了 問號(?)更加友好。blog
開始用了 ^([1-9]|[0-9]{0,})(.[0-9]{1,2})?$
點(.)沒有轉義,變成了 Any Char,測試 0w1
也經過了,正則失敗。
get
改成 ^([1-9]|[0-9]{0,})(\.[0-9]{1,2})?$
,看起來是沒問題,可是測試 00.11 時經過了,這個正則不對。
class
最終改成 ^([1-9][0-9]*)+(\.[0-9]{1,2})$
,再友好點就加上問號 ^([1-9][0-9]*)+(\.[0-9]{1,2})?$
im