识别日期的正则表达式

String year = "(\\d{4}|\\d{2})";
String month = "(1[0-2]|0?\\d)";
String date = "((3[01])|([0-2]?\\d))";
String seqment = "[\\-./]";
String chineseYear = "([一二三四五六七八九〇零]{4}|[一二三四五六七八九〇零]{2})";
String chineseMonth = "(十[一二]?|[一二三四五六七八九])";
String chineseDate = "(三十(一)?|二?十[一二三四五六七八九]?|[一二三四五六七八九])";

String patternString1 = "(?<!\\d)" +
                        "(((" + year + "年)?" + "(" + month + "月)" + "(" + date + "号))|" +
                        "((" + year + "年)?" + "(" + month + "月)?" + "(" + date + "日))|" +
                        "((" + year + "年)" + "(" + month + "月)?))"; 

String patternString2 = "(?<!\\d)" +
                        "((" + month + "(?<seq>" + seqment + ")" + date + "\\k<seq>" + "\\d{4}" + ")|" +
                        "(" + year + "(?<seq2>" + seqment + ")" + month + "\\k<seq2>" + date + ")|" +
                        "(" + month + "/" + date + "))" +
                        "(?!\\d)"; 
                        
String patternString3 = "((?<!\\d)" + 
                        "\\d{4}" + "(1[0-2]|0\\d)" + "((3[01])|([0-2]\\d))" + 
                        "(?!\\d))";

String patternString4 = "((" + chineseYear + "年)?" + "(" + chineseMonth + "月)" + "(" + chineseDate + "号))|" +
                        "((" + chineseYear + "年)?" + "(" + chineseMonth + "月)?" + "(" + chineseDate + "日))|" +
                        "(" + chineseYear + "年)"; 

String patternString5 = "[鼠牛虎兔龙蛇马羊猴鸡狗猪前去今明后每]年|" +
                        "[上下这每]个?月|" +
                        "([上下这每]个?)?(周|星期|礼拜)[一二三四五六日]|" +
                        "[上下这每]个?(周末|周|星期|礼拜)|" +
                        "[前昨今明后每]天|" +
                        "[前昨今明每]日";

转载于:https://my.oschina.net/hounLeft/blog/687792

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值