2012-10-03 31 views
1

我不是很擅長爲編寫正則表達式Rails路線號碼(月)的Rails路由約束。領導零

我想從有數字1到12的有效(因爲它是,基本上,月數),但是,我也想從有號碼也有效,使領導對於單個數字爲零是有效的。

有人可以幫我這個嗎?

在此先感謝!

回答

3

Here's一個好地方開始。

您正在尋找這樣的事情:

^0?[1-9]|1[0-2]$ 

^$比賽開始和結束,所以你不喜歡a09b匹配廢話。該|就像是一個OR語句,並具有最低的優先級,所以它的左側,0?[1-9]說,由可選0前面的字符1-9的任何一個,並且它的右邊,1[12]說,任何一個由前面人物12所需 1.

+0

你缺少的0 10.如果是'1 [012] $' – link664

+0

但1-9與任意數量的領先的零s仍然有效,所以也檢查一下。爲1到9「^ 0 * [1-9] $」。結帳www.rubular.com –

+0

非常感謝您的解釋!很有用!像魅力 – Dmitri

2

試試這個正則表達式:/^(0?[1-9]|1[012])$/

+0

確定)似乎工作正常!謝謝! ) – Dmitri