作者gary8520 (元丁)
看板RegExp
標題[問題] 批次將檔名中的日期移至開頭
時間Mon Apr 13 11:04:24 2015
各位大大:
我是regexp完全新手"orz,目前只看了教學就發問,正則表達式好難懂…
使用的環境在winxp
並使用Ant Renamer做檔名的批次更換
目前有上千組的檔案要將檔名中的日期移至開頭
例如:ALL STREAM報價 2013.9.22.xls
想換為2013.9.22ALL STREAM報價 .xls
(若可以的話,想把月和日都補為兩位數…)
檔名中的空格可以不處理它
若檔名中沒有日期則不更名
我目前用的表達示如下:
express:
(.*)(?=20[0-9]{2}\.(0?[1-9]|1[012])\.(0?[1-9]|[12][0-9]|3[01]))(.*)
newname:
\1\0\2
但是一直都是錯誤跑不出來…
--
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.171.34.39
※ 文章網址: https://webptt.com/m.aspx?n=bbs/RegExp/M.1428894268.A.4DE.html
1F:推 mars90226: (.*)(20\d{2}\.(?:0?[1-9]|1[0-2])\.(?:0?[1-9]|[12][0 04/13 19:59
2F:→ mars90226: -9]|3[01]))(.*) 04/13 19:59
3F:→ mars90226: 你的規則挺仔細的XD 不過?=是lookahead,然後中間沒用 04/13 20:00
4F:→ mars90226: 的括號要用?:避免抓取 04/13 20:00