我需要一個正則表達式,其中數字不能以0開頭。正則表達式在排序中不應該允許「.0」。
實施例:1.0, 1.0.1, 1.1.0
正則表達式中的數字不應該以0開頭
然而,該序列允許
實例:1, 1.10, 1.10.1
正則表達式我曾嘗試是本([1-9]|([1-9]+)+(\.[1-9]+))$
並且輸出是它未能直到2 「」在此之後失敗,例如它將失敗至1.0.0
。然而,它在1.0.0.2
匹配
我需要一個正則表達式,其中數字不能以0開頭。正則表達式在排序中不應該允許「.0」。
實施例:1.0, 1.0.1, 1.1.0
正則表達式中的數字不應該以0開頭
然而,該序列允許
實例:1, 1.10, 1.10.1
正則表達式我曾嘗試是本([1-9]|([1-9]+)+(\.[1-9]+))$
並且輸出是它未能直到2 「」在此之後失敗,例如它將失敗至1.0.0
。然而,它在1.0.0.2
匹配
我的答案採取將
([1-9][0-9]*)(\.([1-9][0-9]*))*
它將完全一致選擇作爲海報介紹,用一系列句點分隔的整數,其中每個整數不以0開頭的。
如果應用程序需要的選擇是在一行的開始,我會建議增加一個符號(^)作爲正則表達式的第一個字符。
爲了幫助OP理解這裏發生了什麼,我已經在下面的僞代碼中提供了我提供的路線。 找到1到9之間的數字 找到0或9之間0或9的數字 循環 檢查一段時間。如果找到一個,重複開始代碼來 搜索0之間的非零數字和零個或多個號碼 - 9. 如果上述失敗,停止循環。 – gsharpe
我想我知道你的意思,但你應該知道,'1.10.101.11.10.1'不是十進制值的既不是'1.1.0'。兩者都使用數字和點,但這並不是十進制數。你需要更精確。 –
而你的問題是......? – EJoshuaS
到目前爲止您嘗試過什麼? – Brydenr