java日期正则表达式
1. java 正则表达式 字符串中提取日期 例如:某一节目第20140502期
packagep1;
importjava.util.regex.Matcher;
importjava.util.regex.Pattern;
publicclassRunnableTicket
{
publicstaticvoidmain(String[]args)
{
Stringreg="[1-9]\d{3}(((0[13578]|1[02])([0-2]\d|3[01]))|((0[469]|11)([0-2]\d|30))|(02([01]\d|2[0-8])))";
Stringstr="某一节目第20140502期";
Patternpattern=Pattern.compile(reg);
Matchermatcher=pattern.matcher(str);
while(matcher.find())
{
System.out.println(matcher.group());
}
}
}
2. 用JAVA正则表达式怎么匹配年月日(比如要求输入为出生日期)
建议使用 ^(\d{2}|\d{4})[-/](0?[1-9]|1[12])[-/](0?[1-9]|[12]\d|3[01])$ 来匹配(日期不一定有效),然后尝试转换成日期.如果要严谨点可以用^(\d{2}|\d{4})[-/](((0?[13578]|10|12)[-/](0?[1-9]|[12]\d|3[01]))|((0?[469]|11)[-/](0?[1-9]|[12]\d|30))|(0?2[-/](0?[1-9]|[12]\d)))$但是这里还是有个问题:将所有年份的2月29日都当作有效日期
3. 就JAVA 日期的正则表达式 格式为:YYYY-MM-DD
Java正则,"^\\d{4}-\\d{2}-\\d{2}$"
严格验证 "1923-33-44",
多个空格" 1923-33-44"都算验证失败
4. java 中日期正则表达式 不用判断平闰年 只需判断2014-12-33 这种类型错误
String eL = "[0-9]{4}-[0-9]{2}-[0-9]{2}";
Pattern p = Pattern.compile(eL);
Matcher m = p.matcher(date);
boolean dateFlag = m.matches();
5. java验证日期"yyyyMMdd"正则表达式,
正则表达式如下
/^(\d{4})-(\d{2})-(\d{2})$/
6. Java里面效验日期的正则表达式
publicstaticvoidmain(String[]args)
{
StringcheckValue="20000431112230";
Stringyear=checkValue.substring(0,4);//获取年份
Stringmonth=checkValue.substring(4,6);//获取月份
BooleanisLeap=leapYear(Integer.parseInt(year));//判断闰年
System.out.println(isLeap);
StringBuffereL=newStringBuffer();
StringlongMonth="01030507081012";//31天的月份
Stringfix="([2][0-3]|[0-1][0-9]|[1-9])[0-5][0-9]([0-5][0-9]|[6][0])";
if(isLeap&&month.equals("02")){//针对2月份的情况【闰年】
eL.append("\d{4}([1][0-2]|[0][0-9])([2][0-1]|[1-2][0-9]|[0][1-9]|[1-9])"+fix);
}elseif(!isLeap&&month.equals("02")){//针对2月份的情况【非闰年】
eL.append("\d{4}([1][0-2]|[0][0-9])([2][0-1]|[1-2][0-8]|[0][1-9]|[1-9])"+fix);
}elseif(longMonth.contains(month)){//31天月份
eL.append("\d{4}([1][0-2]|[0][0-9])([3][0-1]|[1-2][0-9]|[0][1-9]|[1-9])"+fix);
}else{//30天月份
eL.append("\d{4}([1][0-2]|[0][0-9])([3][0]|[1-2][0-9]|[0][1-9]|[1-9])"+fix);
}
Patternp=Pattern.compile(eL.toString());
Matcherm=p.matcher(checkValue);
booleanflag=m.matches();
if(flag)
{
System.out.println("格式正确");
}
else
{
System.out.println("格式错误");
}
}
publicstaticbooleanleapYear(intyear){
BooleanisLeap=false;
if(((year%100==0)&&(year%400==0))
||((year%100!=0)&&(year%4==0)))
isLeap=true;
returnisLeap;
}
7. java中Js验证日期的正则表达式格式为:yyyy/MM/dd
var result=data.match(/((^((1[8-9]\d{2})|([2-9]\d{3}))(\/)(10|12|0?[13578])(\/)(3[01]|[12][0-9]|0?[1-9])$)|(^((1[8-9]\d{2})|([2-9]\d{3}))(\/)(11|0?[469])(\/)(30|[12][0-9]|0?[1-9])$)|(^((1[8-9]\d{2})|([2-9]\d{3}))(\/)(0?2)(\/)(2[0-8]|1[0-9]|0?[1-9])$)|(^([2468][048]00)(\/)(0?2)(\/)(29)$)|(^([3579][26]00)(\/)(0?2)(\/)(29)$)|(^([1][89][0][48])(\/)(0?2)(\/)(29)$)|(^([2-9][0-9][0][48])(\/)(0?2)(\/)(29)$)|(^([1][89][2468][048])(\/)(0?2)(\/)(29)$)|(^([2-9][0-9][2468][048])(\/)(0?2)(\/)(29)$)|(^([1][89][13579][26])(\/)(0?2)(\/)(29)$)|(^([2-9][0-9][13579][26])(\/)(0?2)(\/)(29)$))/);
将所有的(-)改成(\/)不就得了
我很久以前好像写过一个和这差不多的正则
8. java 日期正则表达式,求助!!!
Stringregex="^[1-9]\d{3}u5e74((0?[1-9])|(1[0-2]))u6708$";
9. Java中如何用正则表达式找出各种表达形式的日期
package tool;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class StringCruncher
{
public static void main ( String[] args )
{
String str = "注意我这里说2011-09-13的是找出,不是验证什么格式之类的。比如说str1=\"你好2014-09-13哈哈\"这样一个字符串,里面有日期,但是用str1.matches(regex)的话得出来的结果是错的,请问该怎么做?";
String reg ="\\d+\\-\\d+\\-\\d+";
Pattern pattern = Pattern.compile (reg);
Matcher matcher = pattern.matcher (str);
while (matcher.find ())
{
System.out.println (matcher.group ());
}
}
}