//两位数字开头,1~3第一位,0~9第二位,“日”“号”结尾
//“一、十、二、三”第一位,“一”~“十”第二位,“一”~“九”第三位,“号”结尾(^[1-3][0-9](日|号)$)|(^[一|十|二|三][一|二|三|四|五|六|七|八|九|十][一|二|三|四|五|六|七|八|九]号$)但是存在盲区,非法日期,例如:39号,十九一日,请大侠不吝赐教

解决方案 »

  1.   

    String num1="[0-2][0-9]";
    String num2="[3][0-1]";
    String num=num1+"|"+num2;"(^"+num+"$)|(^[一|十|二|三][一|二|三|四|五|六|七|八|九|十][一|二|三|四|五|六|七|八|九]号$)"就写这么多吧,往下应该都一样了,楼主自己改吧
      

  2.   

    有个正则式A ,它有三个子式 B+C+D 而E是你所需要的表达式,也是由B+C+D组成,但要求B,C,D之间有条件关系,那么在这种情况下,应该先选出A,然后交给一段程序解决,如果完全让正则式完成,效率有可能低,依赖的条件关系越多,提取的子式越多。