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

热点内容
解压包密码消失 浏览:135
昆仑通态触摸屏用户窗加密 浏览:564
农信app怎么看日额 浏览:865
iphone备忘录包含视频无法加密 浏览:283
抖音快手红包源码 浏览:137
程序员资源分析 浏览:586
linux交换分区大小 浏览:922
mt怎么编译 浏览:337
qq邮箱打开pdf 浏览:461
云帆服务器异常 浏览:797
初三文件夹多少页够用 浏览:878
怎样用纸来做解压玩具 浏览:275
主sip注册服务器地址 浏览:293
华为的配置命令 浏览:241
cmd怎么打开java反编译 浏览:683
阴离子表面活性剂分光光度计算法 浏览:928
货车空调压缩机价格 浏览:557
决策树算法id3实例 浏览:685
随意发言网源码 浏览:370
app工商银行怎么查看卡状态 浏览:550