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