我想創建一個正確的五位數字的正則表達式,應該在90000 - 96163之間的範圍內。 我創建了正好5個數字的正則表達式 @「^ \ d { 5} $「 現在我該如何確保它在90000 - 96163的範圍之間? 小於90001和超過96162的任何值都不應該起作用。正則表達式的最小值和範圍數
感謝
我想創建一個正確的五位數字的正則表達式,應該在90000 - 96163之間的範圍內。 我創建了正好5個數字的正則表達式 @「^ \ d { 5} $「 現在我該如何確保它在90000 - 96163的範圍之間? 小於90001和超過96162的任何值都不應該起作用。正則表達式的最小值和範圍數
感謝
這是用在你的語言規則的數值比較(使用<
和>
運營商)最容易實現的。
您可以使用正則表達式做了一系列檢查,但它是乏味的實施和所有,但很好的可讀性。爲了完整起見,這裏是一個可能的模式:
9([0-5][0-9]{3}|6(0[0-9]{2}|1([0-5][0-9]|6[0-3])))
打散,圖案內容如下:
9 # The first digit must be a 9
(
[0-5][0-9]{3} # Covering the range 90000-95999
|
6 # Matching 96xxx
(
0[0-9]{2} # Covering the range 96000-96099
|
1 # Matching 961xx
(
[0-5][0-9] # Covering the range 96100-96159
|
6[0-3] # Covering the range 96160-96163
)
)
)
請不要做,如果能夠避免它。只要考慮範圍邊界發生變化時會發生什麼情況:想象一下,您必須檢查一個值是否在7243和132843之間 - 這並不好玩。
數字由數字:
/(?!^90000$)(^9([0-5]\d{3}|6(0\d{2}|1([0-5]\d|6[0-2]))))$/
這不是正則表達式的工作。分開'-'並測試每個數字。 – Toto