2011-06-06 97 views
0

我們確定這個表達式適用於驗證某一領域,但希望它是更短,因爲它會被重複過無數次:這個正則表達式的最短符號是什麼?

\D\D\d\d\d\D\d\d\D-\d\d\d 

那是什麼仍然驗證了相同的最短的符號作爲以上正則表達式?

+1

「正則表達式」長度相同,但組3個字符是太一般。什麼樣的正則表達式? – BoltClock 2011-06-06 12:49:28

+3

爲什麼你想在任何時候重複任何代碼?幹。 – geoffspear 2011-06-06 12:50:31

+0

這是' - '應該是一個文字破折號嗎?如果是這樣,它應該被轉義「\」 – eds 2011-06-06 12:52:22

回答

3

不是很短,但也許更具可讀性。

\D{2}\d{3}\D\d{2}\D-\d{3} 
2

\D\D\d{3}\D\d\d\D-\d{3} - 只略微縮短。

更容易閱讀,但不再:\D{2}\d{3}\D\d{2}\D-\d{3}

2

什麼

\D{2}\d{3}\D\d{2}\D-\d{3} 
3

我不知道這是否是短,但是這絕對是更容易閱讀:

\D{2}\d{3}\D\d{2}\D-\d{3} 
0

由於\ D {2}是5個字符,這是更短的:

\D\D\d{3}\D\d\d\D-\d{3} 
0

另一種解決方案,即重複兩次

\D{2}\d(\d{2}\D){2}-\d{3}