我需要用下面的正則表達式的幫助:正則表達式不工作的expcted
(0 ?)([1-8] ?){1}(\d ?){9}|(\d ?){10}
- 正則表達式應該匹配或者或11位
- 的第一位應爲0
- 第二位數字應該包含從1 - 8位數字 only
- 所有數字可以在之間有空格,例如, 0 1 2 7 4 3 3 3 4 4 4
- 數字可以沒有空格,例如01274333444
我創建的正則表達式適用於除第三個條件之外的大多數場景,即第二個數字只能包含1-8個數字。 任何幫助非常感謝
我需要用下面的正則表達式的幫助:正則表達式不工作的expcted
(0 ?)([1-8] ?){1}(\d ?){9}|(\d ?){10}
我創建的正則表達式適用於除第三個條件之外的大多數場景,即第二個數字只能包含1-8個數字。 任何幫助非常感謝
您可以使用此:
^0 ?[1-8] ?(?:[0-9] ?){8,9}$
我用錨^
和$
,以確保沒有開頭或結尾的數字。
這是你的正則表達式(0 ?)([1-8] ?){1}(\d ?){9}|(\d ?){10}
目前正在做什麼:
它也試圖匹配11個或12位數字,而不是10或11
你需要做的是改變它以下方法之一:
|
周圍,以限制它的範圍:(0 ?)([1-8] ?){1}(?:(\d ?){8}|(\d ?){9})
(0 ?)([1-8] ?){1}(\d ?){8,9}
非常感謝你這是非常好的解釋。我無法在這個階段投票,否則會投你的答案:) – ConfusedCoder
您的正則表達式匹配11或12位數字。 – devnull
有一個非常酷的在線工具來測試正則表達式:http://regex101.com/你可能想試試看。您可以輸入數字並查看它們何時匹配。它也解釋了你正在選擇的東西。 – helderdarocha