中回覆^我無法完全理解^在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