导航:首页 > 编程语言 > java正则年月

java正则年月

发布时间:2023-04-13 09:43:32

java 正则表达式 字符串中提取日期 例如:某一节目第20140502期

packagep1;

importjava.util.regex.Matcher;
importjava.util.regex.Pattern;

public丛汪classRunnableTicket
{
publicstaticvoid纤庆main(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());
}
}
}

Ⅱ 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)$))/);
将所有的(-)改成(\/)不就得了
我很久以前好像写过一个和这差不多的正则

Ⅲ 用java 语言,怎么用正则匹配一段汉字的年月日!给个详细的过程!

[0一二三四五六七八九十]+年[一二三四五六七八九十]+月[一二三四五六七八九十]+日

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

Ⅳ 表示年月的正则表达式

我们知道月份通常是两个数字从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里面效验日期的正则表达式

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

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

Ⅷ 用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 正则法则如有验证年份

目前仍没有人解决1、3、5、7、8、10、12月是31天的大月问题呀
(我本是1楼)如果用正则去验证“数值”此察,会很舍近求远,不是正则的强项。需要写很多的“向后断言”。效率会一般甚至很低。(目前我看到的上下楼的都是有漏洞的,没法检验闰月和大小月)
我所不取。

我一直用的这个:
static public boolean isValidDate(
int year, int mon, int day,
short year_min,short year_max,
StringBuffer msg)
{
if(year<year_min || year>year_max)
{
msg.append("年份必须在("+
year_min+"~"+year_max+
")之间,输入值("+year+")无效\n");
return false;
}else{//
switch(mon){
case 1:case 3:case 5:case 7:case 8:case 10:case 12:{
if(day<1 || day>31){
msg.append("日号必须拿扒灶在(1~31)之间,输入值("+day+")无效\n");
return false;
}
}break;
case 2:{
if(isLeapYear(year) && day>29){
msg.append("闰年的闰二月日号必须在(1~29)之间,"+year+"是闰年,输入值("+day+")无效\n");
return false; }else if(day>28){
msg.append("非闰年的闰二月的日号必须在(1~28)之间,"+year+"不是闰年,输入值("+day+")无效\n");
return false;
}
}break;
case 4:case 6:case 9:case 11:{
if(day<1 || day>30){
msg.append("日号必须在(1~30)之间,消扮输入值("+day+")无效\n");
return false;
}

}break;
default:{
msg.append("月份必须在(1~12)之间,输入值("+mon+")无效\n");
return false;

}
}
}
return true;
}
static public boolean isLeapYear(int year){
return (year%4==0 && year%100!=0)|| year%400==0;
}
包好。

Ⅹ java验证日期"yyyyMMdd"正则表达式,

/^(\d{4})(0\d{1}|1[0-2])(0\d{1}|[12]\d{1}|3[01])$/;

阅读全文

与java正则年月相关的资料

热点内容
制作网站开发公司 浏览:153
阿里巴巴app怎么开发 浏览:781
3d12版本vr材质 浏览:184
苹果电脑进入中国时间 浏览:795
还呗app服务密码是什么 浏览:498
sddyn01dll版本太低 浏览:858
嵩县手机网站有哪些 浏览:710
zuk桌面文件夹 浏览:602
网络昵称cox是什么意思啊 浏览:726
抖音在哪里看发布的视频数据 浏览:604
word2007宏被禁止 浏览:29
java答辩ppt模板 浏览:460
移动社交网络 浏览:180
手机下载电脑文件怎么打开 浏览:166
哪个编程软件能编程图片教程 浏览:371
jshtml转document 浏览:839
神州专车开放app有哪些 浏览:950
汽车改装中的编程是什么意思 浏览:985
会员10元升级超级会员 浏览:906
appjava服务端开发 浏览:233

友情链接