運行以下JavaScript代碼,例如,12月12日成功找到。JavaScript正則表達式空格
return messageHtmlBody.match(/[1-31]{1,2}(\s)[a-zA-Z]{3,9}/i)[0];
我想回到「2012年12月12」,所以嘗試這種代碼:
return messageHtmlBody.match(/[1-31]{1,2}(\s)[a-zA-Z]{3,9}(\s)\d{4}/i)[0];
這不僅不會返回匹配,但代碼甚至沒有成功運行。我嘗試以下太(只是第二(\ S)字符),並且沒有可執行:
return messageHtmlBody.match(/[1-31]{1,2}(\s)[a-zA-Z]{3,9}(\s)/i)[0];
是否有一個原因,第二個(\ S)是行不通的?第一個(\ s)成功匹配第一個空格。搜索字符串100%包含字符串「2012年12月12日」,因此找到它不應該是問題。
任何想法?
不太相關的你的問題,但只是測試和'「32」 .match(/ [1- 31] {1,2} /)'returns'[「32」]',所以你可能想要重新思考你的正則表達式... – Passerby