① java中日期的正則表達式
\d{4}-\d{2}-d{2}
不知道你這是什麼語言寫的啊,我提供這個正則表達式是沒有問題的。
② 用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 日期的正則表達式 格式為:YYYY-MM-DD
Java正則,"^\\d{4}-\\d{2}-\\d{2}$"
嚴格驗證 "1923-33-44",
多個空格" 1923-33-44"都算驗證失敗
④ java用正則表達式判斷字元串是不是時間
具體代碼如下:
1 public static boolean isValidDate(String str) {
2 boolean convertSuccess=true;
3 // 指定日期格式為四位年/兩位月份/兩位日期,注意yyyy/MM/dd區分大小寫;
4 SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd HH:mm");
5 try {
6 // 設置lenient為false. 否則SimpleDateFormat會比較寬松地驗證日期,比如2007/02/29會被接受,並轉換成2007/03/01
7 format.setLenient(false);
8 format.parse(str);
9 } catch (ParseException e) {
10 // e.printStackTrace();
11 // 如果throw java.text.ParseException或者NullPointerException,就說明格式不對
12 convertSuccess=false;
13 }
14 return convertSuccess;
⑤ 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 日期正則表達式,求助!!!
Stringregex="^[1-9]\d{3}u5e74((0?[1-9])|(1[0-2]))u6708$";
⑦ java正則表達式是什麼
在程序開發中,難免會遇到需要匹配、查找、替換、判斷字元串的情況發生,而這些情況有時又比較復雜,如果用純編碼方式解決,往往會浪費程序員的時間及精力。因此,學習及使用正則表達式,便成了解決這一矛盾的主要手段。
正則表達式是一種可以用於模式匹配和替換的規范,一個正則表達式就是由普通的字元(例如字元a到z)以及特殊字元(元字元)組成的文字模式,它 用以描述在查找文字主體時待匹配的一個或多個字元串。正則表達式作為一個模板,將某個字元模式與所搜索的字元串進行匹配。
(7)java時間的正則表達式擴展閱讀:
正則表達式的特點是:
1、靈活性、邏輯性和功能性非常強;
2、可以迅速地用極簡單的方式達到字元串的復雜控制。
3、對於剛接觸的人來說,比較晦澀難懂。
由於正則表達式主要應用對象是文本,因此它在各種文本編輯器場合都有應用,小到著名編輯器EditPlus,大到Microsoft Word、Visual Studio等大型編輯器,都可以使用正則表達式來處理文本內容。
⑧ JAVA 正則表達式提取時間
提取以後還要處理一下
看一下下邊的例子。結果
2012-2-14
2015-13-35 (這樣非法的就需要你自己來處理了。)
--------------------------------------------------------------------------------
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Other {
public static void main(String[] args) {
String str = "本頁面最後修訂於2012年2月14日 (星期二) 2015-13/35日 11:29。2012-135/14<br /></li>";
Pattern p = Pattern
.compile("[0-9]{4}[年|\\-|/][0-9]{1,2}[月|\\-|/][0-9]{1,2}");
Matcher m = p.matcher(str);
while (m.find()) {
if (!"".equals(m.group())) {
String date = m.group();
date = date.replaceAll("年", "-");
date = date.replaceAll("月", "-");
date = date.replaceAll("/", "-");
System.out.println(date);
}
}
}
}