学习正则表达式点滴
^20\d{2}-((0[1-9]{1})|(1[0-2]{1}))-((0[1-9]{1})|([1-2]{1}[0-9]{1})|(3[0-1]{1}))
這一段正則表示表示的是年月日的表達格式,年份為2000-2099年,日期格式為?? yyyy-mm-dd
。首先看year,^20\d{2}表示年份2000-2099范圍內的一個年份,d{2}表示兩位數,第一位上數字是0-9中的一個,第二個數字也是0-9中的一個,結合^20,所以表示2000-2099中的一個年份。其次看month,((0[1-9]{1})|(1[0-2]{1}))其中|表示或得關系,0[0-9]{1}表示一個兩位數(第一位為0,第二位為0-9這10個數字中的一個,所以表示的范圍是1-9月份);1[0-2]{1}也表示一個兩位數(第一位為1,第二位為0-2這三個數字中的一個,所以結果范圍是10-12月份),綜合起來就是month為01月到12月的一個。最后看day,((0[1-9]{1})|([1-2]{1}[0-9]{1})|(3[0-1]{1})),這里用了兩次|,其中0[1-9]{1}表示的是一個兩位數(第一位為0,第二位為1-9中的一個數字,表示的范圍是一個月中的1-9號),[1-2]{1}[0-9][1]表示一個兩位數(第一位為1、2這兩個數字中的一位,第二位為0-9這10個數字中的一位,所以表示的范圍是10-29號),3[0-1]{1}表示的也是一個兩位數(第一位為3,第二位為0、1中的一位,所以表示的范圍是30和31號),綜合起來就是day為01號到31號中的一個。
?
總結
 
                            
                        - 上一篇: HTML的文本中只允许有日期输入
- 下一篇: php中的数据类型
