日期格式dd \ mm \ yyyy的正則表達式是什麼?我無法找到這種格式的正則表達式?日期格式dd mm yyyy的正則表達式是什麼?
回答
在我看來,最好是使用正則表達式驗證格式,但用代碼驗證有效性(在您的情況下爲Java)。嘗試檢查每月不同的日子和使用正則表達式的閏年之類的東西是荒謬的。
我建議解析使用像([0-9]{2})\\([0-9]{2})\\([0-9]{4})
一個正則表達式的時間,然後提取每個片(dd
,mm
,和yyyy
,分別地),並嘗試創建java.util.Date
對象了出來。
注意以下幾點:
- 日期通常寫有斜槓(
/
)而不是反斜槓(\
) - 在Java中的字符串,寫在正則表達式的反斜槓字符,你將有實際上爲
\\\\
寫入兩個反斜槓(\\
)個字符。在寫一個反斜槓的java字符串中,我們需要轉義字符(這又是一個\
)。
+1不應該是'([0-9] {2})\\\\([0-9] {2})\\\\([0-9] {4})'? – blackcompe
是的,它應該在一個Java字符串中。上面的正則表達式是泛型正則表達式,但如果使用Java字符串,則需要使用四個斜槓(請參閱我的答案末尾的註釋**(b)**)。 –
我明白了。感謝澄清。 – blackcompe
這one是相當不錯的。
/**
* Created with IntelliJ IDEA.
* User: S34N
* Date: 2013/07/30
* Time: 8:21 AM
* To change this template use File | Settings | File Templates.
*/
//Import the required classes/packages
import javax.swing.*;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
public class dateInputScan {
public static void main(String args[]) {
dateInputScan run = new dateInputScan();
run.dateInputScan();
}
public void dateInputScan() {
//Instantiating variables
String lvarStrDateOfTransaction = null;
DateFormat formatter = null;
Date lvarObjDateOfTransaction = null;
//Use one of the following date formats.
lvarStrDateOfTransaction = "29/07/2013";
//lvarStrDateOfTransaction = "29-07-2013";
//lvarStrDateOfTransaction = "20130729";
//lvarStrDateOfTransaction = "2013-07-29";
//lvarStrDateOfTransaction = "29/07/2013";
//You can also add your own regex (Regular Expression)
if (lvarStrDateOfTransaction.matches("([0-9]{2})/([0-9]{2})/([0-9]{4})")) {
formatter = new SimpleDateFormat("dd/MM/yyyy");
} else if (lvarStrDateOfTransaction.matches("([0-9]{2})-([0-9]{2})-([0-9]{4})")) {
formatter = new SimpleDateFormat("dd-MM-yyyy");
} else if (lvarStrDateOfTransaction.matches("([0-9]{4})([0-9]{2})([0-9]{2})")) {
formatter = new SimpleDateFormat("yyyyMMdd");
} else if (lvarStrDateOfTransaction.matches("([0-9]{4})-([0-9]{2})-([0-9]{2})")) {
formatter = new SimpleDateFormat("yyyy-MM-dd");
} else if (lvarStrDateOfTransaction.matches("([0-9]{4})/([0-9]{2})/([0-9]{2})")) {
formatter = new SimpleDateFormat("yyyy/MM/dd");
}
try {
lvarObjDateOfTransaction = formatter.parse(lvarStrDateOfTransaction);
JOptionPane.showMessageDialog(null, "Date: " + lvarObjDateOfTransaction);
} catch (Exception ex) { //Catch the Exception in case the format is not found.
JOptionPane.showMessageDialog(null, ex);
}
}
}
正則表達式模式日/月/年
String regex = "^([0-2][0-9]||3[0-1])/(0[0-9]||1[0-2])/([0-9][0-9])?[0-9][0-9]$";
我嘗試這樣^[0-3]{1}[0-9]{1}/[0-1]{1}[1-2]{1}/[1-9]{1}[0-9]{3}$
和它的工作原理
String dateRegEx="^[0-3]{1}[0-9]{1}/[0-1]{1}[1-2]{1}/[1-9]{1}[0-9]{3}$";
System.out.println(Pattern.matches(dateRegEx, "01/01/1990"));
([0-2][0-9]||3[0-1])\\(0[0-9]||1[0-2])\\((19|20)\d\d)
以上的正則表達式將驗證 第一2恰拉CTER在0-31 然後下一組的範圍之間必須包含的字符範圍0-12之間則 下一組包含一年的範圍之間1900年至2099年
這是爲我工作完全正常
- 1. 日期格式dd/mm/yyyy和dd-mm-yyyy的正則表達式
- 2. 日期格式的正則表達式:dd-mm-yyyy
- 3. 正則表達式匹配YYYY-MM-DD格式的日期
- 4. 正則表達式驗證日期時間格式(MM/DD/YYYY)
- 5. 日期時間格式正則表達式YYYY/MM/DD hh:mm:ss
- 6. 什麼是XML正則表達式中DD-MM-YYYY日期格式的正則表達式?
- 7. 用於匹配日期格式的正則表達式DD-MM-YYYY和DD/MM/YYYY
- 8. mm-dd-yyyy javascript中的日期正則表達式
- 9. 日期時間正則表達式模式匹配YYYY-MM-DD HH:MM:SS格式
- 10. 轉換日期格式yyyy-mm-dd hh-mm-ss到dd-mm-yyyy
- 11. 以dd/mm/yyyy格式爲javascript驗證的日期的正則表達式
- 12. 使用Javascript的日期格式 - dd-mm-yyyy的正則表達式
- 13. 最佳日期正則表達式mm/dd/yyyy
- 14. 正則表達式幫助日期驗證 - DD/MM/YYYY - PHP
- 15. javascript - 以mm/dd/yyyy格式驗證日期的正則表達式
- 16. 日期格式是正確的yyyy/dd/mm但它顯示不同dd/mm/yyyy
- 17. 將日期的格式從mm/dd/yyyy更改爲yyyy-mm-dd
- 18. 正則表達式在PHP中使用格式驗證日期爲YYYY-MM-DD
- 19. 日期格式的正則表達式YYYY-MM-DDThh:mm:ssZ
- 20. yyyy-MM-dd格式的正則表達式
- 21. 日期格式「日DD/MM/YYYY」
- 22. 我想在日期格式mm/dd/yyyy到dd/mm/yyyy在jquery
- 23. 從YYYY-MM-DD以YYYY/MM更改日期格式/ DD
- 24. 如何日期格式從YYYY-MM-DD轉換爲DD-MM-YYYY
- 25. PHP轉換日期格式DD/MM/YYYY => YYYY-MM-DD
- 26. 日期格式 - DD-MM-YYYY,以YYYY-MM-DD
- 27. 日期格式操作(YYYY/MM/DD-to-MM/DD/YYYY)
- 28. 如何從YYYY/MM/DD更改日期格式DD/MM/YYYY
- 29. 日期格式dd/mm/yyyy至yyyy/mm/dd
- 30. 日期格式「dd/MM/yyyy」改爲「yyyy/MM/dd」
使用答案從http://stackoverflow.com/questions/3386520/parse-date-from-string-in-this-format-dd-mm-yyyy-to-dd-mm-yyyy並將斜槓(/)更改爲雙反斜槓(\\\) –
@AlexTaylor感謝您的快速回復,我正在尋找以上日期格式的常規exp,您能告訴我那個嗎? – Sandy
你真的想用反斜槓的日期格式嗎? – EJP