导航:首页 > 编程语言 > Java年月的正则表达式

Java年月的正则表达式

发布时间:2022-09-26 09:11:06

❶ 用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日都当作有效日期

❷ java中日期的正则表达式

\d{4}-\d{2}-d{2}

不知道你这是什么语言写的啊,我提供这个正则表达式是没有问题的。

❸ java 日期正则表达式,求助!!!

Stringregex="^[1-9]\d{3}u5e74((0?[1-9])|(1[0-2]))u6708$";

❹ 用JAVA正则表达式怎么匹配年月日

// //2009-01-01 12:30:30 //年-月-日
String reg = "^\\d{4}-0[1-9]|1[1-2]-0[1-9]|[1-2]\\d|3[0-1] [0-2][0-4]:[0-6]\\d:[0-6]\\d$";

//01/01/2009 12:30:30 月/日/年
String reg2 = "^[0[1-9]|1[1-2]/0[1-9]|[1-2]\\d|3[0-1]/\\d{4} [0-2][0-4]:[0-6]\\d:[0-6]\\d$";

❺ 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;
}

❻ 表示年月的正则表达式

^20[0-9]{2}[01][0-9]$
[0-9]{2}表示00-99之间
[01]表示接下来这个数只能是0或1,因为不存在22月32月之类的
[0-9]这个表示这个数在0-9之间的任意一个这个正则唯一的漏洞就是匹配00-19之间,但是没有00这个月,也没有13,19等月

❼ 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 ());
}
}
}

❽ 表示年月的正则表达式

我们知道月份通常是两个数字从01-12;所以月份可以采用|这个运算符来解决。当第一个数字式0的时候,第二个数字就可以从1-9,当第一个数字式1的时候,第二个数字就只能从0-2。于是月份的正则表达式可以设计为:var
remonth=/0[1-9]|1[0-2]/;对于年份的正则表达式,我们同样也可以用|这个运算符来解决,考虑从1900-2099这个范围的日期(当然你可以根据需要,任意设定,原理一样),则可以设计年份正则表达式如下:var
reyear=/19|20\d{2}/;于是年月正则表达式就可以设计如下:var
yearmonth=/(?:19|20\d{2})-(?:0[1-9]|1[0-2})/;(其中?:是一个非捕获性标志)

❾ 年月正则表达式

我们知道月份通常是两个数字从01-12;所以月份可以采用|这个运算符来解决。当第一个数字式0的时候,第二个数字就可以从1-9,当第一个数字式1的时候,第二个数字就只能从0-2。于是月份的正则表达式可以设计为:var reMonth=/0[1-9]|1[0-2]/;对于年份的正则表达式,我们同样也可以用|这个运算符来解决,考虑从1900-2099这个范围的日期(当然你可以根据需要,任意设定,原理一样),则可以设计年份正则表达式如下:var reYear=/19|20\d{2}/;于是年月正则表达式就可以设计如下:var YearMonth=/(?:19|20\d{2})-(?:0[1-9]|1[0-2})/;(其中?:是一个非捕获性标志)

阅读全文

与Java年月的正则表达式相关的资料

热点内容
春宫妖姬演员表 浏览:111
韩国情爱电影在线 浏览:811
程序员那么可爱顾墨吃醋 浏览:201
服务器未测速怎么办 浏览:15
男主角林晨的都市小说 浏览:898
百度文库系统源码nodejs 浏览:997
电影院正在上映的电影怎么在家看 浏览:61
永辉生活app如何使用手机闪付 浏览:178
吸奶的电影 浏览:986
对越自卫反击战电影大全集免费 浏览:565
一起看电影网站源码 浏览:909
阿甘正传阿甘的英文名 浏览:159
电影天名 浏览:626
弱视矫治系统源码 浏览:899
金融市场基础知识pdf 浏览:383
三没降头电影 浏览:586
黄色武侠小说txt下载 浏览:531
如何将服务器转移至阿里平台 浏览:744
哪个网站可以看岛国片 浏览:648
代驾app如何导航到起点 浏览:667