2015-02-24 82 views
1

我需要檢查輸入針對特定圖案(xxxx.xx.xx)
例如:1234.12.34,2.3.5,22.22,1.0.3正則表達式合併需要

我做了這些規則

\d{0,4} 
\d{0,4}\.\d{1,2} 
\d{0,4}\.\d{1,2}\.\d{1,2} 

有沒有辦法將3條規則合併爲一條?
我想到使用嵌套到後面的部分?運算符,但我無法弄清楚正確的語法 任何指針讚賞
謝謝。

回答

1
^(?:\d{0,4}|\d{0,4}\.\d{1,2}|\d{0,4}\.\d{1,2}\.\d{1,2})$ 

試試看。

https://regex101.com/r/aI4rA5/1

|或操作員是你所需要的。

+0

很快!非常感謝:)在10分鐘內接受 – Katia 2015-02-24 06:34:14

2

你可以試試下面的,

^\d{0,4}(?:(?:\.\d{1,2})?\.\d{1,2})?$ 

DEMO

?會變成以前的令牌作爲可選。並且不要混淆存在於非捕獲組中的?

(?:...)調用non-capturing group這將只做匹配。它不會捕獲任何字符。最後?在這個(?:\.\d{1,2})?模式將轉向整個模式,即(?:\.\d{1,2})作爲可選項。

^聲稱我們在開始,$聲稱我們在最後。

+0

':'代表什麼? – Katia 2015-02-24 06:38:27