導航:首頁 > 編程語言 > 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年月的正則表達式相關的資料

熱點內容
功能強大的編程語言 瀏覽:379
為什麼idm連接不上目標伺服器 瀏覽:101
linux萬能網卡 瀏覽:264
3dmax命令介紹 瀏覽:110
程序員35以後做講師還是進企業 瀏覽:462
正元的加密狗怎麼升級 瀏覽:599
計算機組成與體系結構pdf 瀏覽:154
php的優點和缺點 瀏覽:894
tarlinux命令 瀏覽:149
弧路徑演算法 瀏覽:954
google程序員 瀏覽:345
得稅app扣繳義務人在哪裡 瀏覽:145
老程序員代理模式 瀏覽:323
程序員那麼可愛之追妻 瀏覽:47
氨合成冰機壓縮機 瀏覽:366
有必要加密系統盤嗎 瀏覽:380
php常用架構 瀏覽:524
投資配置演算法 瀏覽:625
idc伺服器怎麼配 瀏覽:946
加密的交友軟體 瀏覽:477