我有一個正則表達式允許值範圍內「1111」 - 「999999」,不包括「0」的任何實例:如何強制字符串中的最後一個字符在一定範圍內?
^([1-9]){4,6}$
這是爲我工作,但我的要求進行了修改。我現在不得不禁止該範圍中的最後一個'9',以便最後一個字符的最大值是'8',例如
1111 - 9998, or 1111 - 99998, or 1111 - 999998
如何修改此正則表達式以符合新條件?
我有一個正則表達式允許值範圍內「1111」 - 「999999」,不包括「0」的任何實例:如何強制字符串中的最後一個字符在一定範圍內?
^([1-9]){4,6}$
這是爲我工作,但我的要求進行了修改。我現在不得不禁止該範圍中的最後一個'9',以便最後一個字符的最大值是'8',例如
1111 - 9998, or 1111 - 99998, or 1111 - 999998
如何修改此正則表達式以符合新條件?
這個怎麼樣
^([1-9]){3,5}[1-8]$
非常好 - 但有一點,它需要範圍'1-8'而不是'0-8',所以我編輯了答案來反映。我必須等待大約7分鐘,然後才能將其標記爲正確。 – DaveDev
@DaveDev - '(...)'不需要 –
第一種選擇:
^[1-9]{3,5}[1-8]$
第二個選項:
^(?!.*9$)[1-9]{4,6}$
負面預測(?!.*9$)
不允許9
在最後。
第三種選擇:
^(?!.*0)(?!.*9$)\d{4,6}$
負先行(?!.*0)
不允許0
是在文本的。
WTF?爲什麼低估這個?這不是一個有效的問題嗎? – DaveDev