数字(月)的Rails路由约束。领先零

时间:2012-10-03 06:46:10

标签: ruby-on-rails regex routes constraints

我不擅长为 Rails路由编写正则表达式

我希望1到12的数字有效(因为它基本上是月份数),但是,我还希望将数字从 01 改为 09 也是有效的,因此单个数字的前导零有效。

有人可以帮我这个吗?

提前致谢!

2 个答案:

答案 0 :(得分:3)

Here's一个好的开始。

你正在寻找这样的东西:

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

^$匹配开头和结尾,因此您不会像a09b那样与无意义相匹配。 |就像一个OR语句,并且具有最低优先级,因此0?[1-9]在其左侧表示任何一个字符1-9前面带有< em>可选 0,在其右侧,1[12]表示任何一个字符12前面带有 1。

答案 1 :(得分:2)

试试这个正则表达式:/^(0?[1-9]|1[012])$/