[问题] 批次将档名中的日期移至开头

楼主: gary8520 (元丁)   2015-04-13 11:04:24
各位大大:
我是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
但是一直都是错误跑不出来…
作者: mars90226 (火星人)   2015-04-13 19:59:00
(.*)(20\d{2}\.(?:0?[1-9]|1[0-2])\.(?:0?[1-9]|[12][0-9]|3[01]))(.*)你的规则挺仔细的XD 不过?=是lookahead,然后中间没用的括号要用?:避免抓取

Links booklink

Contact Us: admin [ a t ] ucptt.com