中回覆^我无法完全理解^在preg_match中正在做什么。Preg Match ^在php
if (preg_match('~^(\d\d\d\d)(-(\d{1,2})(-(\d{1,2}))?)?$~', trim($date), $dateParts)) {
echo the $dateparts and do some magic with them
} else {
tell me the date is formatted wrong
}
依我之见,这是想看看是否在$日期,我读出 4小数格式相匹配 - 1或2位小数 - 1或2位小数
如果它不匹配,那么IF语句显示日期,如果没有,则会给出错误的日期格式错误。
然而,只是通过它的一年 $ date ='1977'没有别的(没有日期或月)它仍然通过为真,并显示日期部分,我会认为它会抛出一个错误?
有人能指出我在正则表达式中缺少的东西吗?我猜这是^或可能是最后的?$可能意味着只匹配它的一部分?
等于http://stackoverflow.com/questions/938100/tilde-operator-in-regular-expressions? – l0b0 2009-07-02 11:30:19