导航:首页 > 编程语言 > 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年月的正则表达式相关的资料

热点内容
pdf光子 浏览:832
自拍软件文件夹名称大全 浏览:325
程序员留学移民 浏览:49
梁中间部位箍筋加密区 浏览:117
频谱分析pdf 浏览:750
乐2怎么升级安卓70 浏览:172
java中获取日期 浏览:506
单片机74hc245 浏览:272
美国历史上的总统pdf 浏览:751
程序员脱单实验室靠不靠谱 浏览:459
php中间四位手机号 浏览:870
永旺app怎么样了 浏览:518
压缩空气流量计算软件 浏览:650
智慧聊天app怎么激活 浏览:925
一加换机备份到哪个文件夹 浏览:737
支撑pdf 浏览:417
java空文件夹删除 浏览:588
安卓9跟81有什么区别 浏览:914
n1蓝宝书pdf 浏览:245
为什么安卓机拍照那么丑 浏览:696