這是我之前問過的一個問題的延續。我需要提取日期模式,它由字符串String1,String2,String3 String4包圍。我所做的是Java正則表達式模式,被多個字符串包圍
Pattern pattern = Pattern.compile("(?<=String1\sString2\s(?:0?[1-9]|[12][0-9]|3[01])([- /.])(?:0?[1-9]|1[012])\\1(?:19|20)?\\d\\d?=\sString3\sString4)");
我的約會模式是
(0?[1-9]|[12][0-9]|3[01])([- /.])(0?[1-9]|1[012])\\2(19|20)\\d\\d
其工作正常,但試圖用繩子將其包圍的時候,我面對的麻煩。
的日期是String2的和STRING3之間。我很確定有什麼問題,因爲我的程序出現錯誤,提示無效的轉義序列,但我無法弄清楚。任何幫助表示讚賞。提前致謝。
這是唯一的缺陷?好吧現在就試試。 – newtoprogramming
+1'\ s'不是有效的* java *轉義序列。你正在編碼一個* java *字符串文字,所以你需要雙反斜槓'\\ s'來編碼*正則表達式*'\ s' – Bohemian
好吧,我糾正了這一點,但它似乎仍然不起作用。程序運行時會產生錯誤。有人能告訴我如何提取日期模式以及字符串。字符串是特定的,因此不需要任何模式。 – newtoprogramming