我在Stack Overflow上有另一个问题,并建议使用正则表达式而不是PHP代码。不幸的是,我不知道正则表达式,并且过去已经多次尝试过,现在却没有成功地理解它。所以希望,如果我问得好,这里有人可以提供帮助。我将非常感激。
我想要实现的是将不同的URI请求路由到不同的地方,4具体。什么是适当的reg exp以匹配以下内容:
year
(例如:2010
)year-month
(例如:2010-nov
)(由3个字符代表的月份)year-month-day
(例如:2010-nov-10
)year-month-day-string
(例如:2010-nov-10-blog-post-title-here
)我在PHP中编码并使用CodeIgniter框架。
此致 杰森
答案 0 :(得分:3)
因为您稍后会进行验证。你可以真正通用:
([0-9]{4})-([a-z]{3})-([0-9]{1,2})-([\w*](-?[\w*])*)
4位数年份,连字符,3字母小写字母,连字符,两位数字,至少一个单词,(可选连字符和根据需要重复的其他单词。)
答案 1 :(得分:1)
年份为(19|20)\d\d
。
年月为(19|20)\d\d\-[a-z]{3}
年月日为(19|20)\d\d\-[a-z]{3}\-[1-3][0-9]
年 - 月 - 日字符串为(19|20)\d\d\-[a-z]{3}\-[1-3][0-9]\-[a-z\-]*
如果我错了,请纠正我。另请注意,没有确认不存在的月份名称或日期。