我正试图用正则表达式解析此文件名中的日期。
LBX845656_PayOnline_0528- 20191429 .txt.052819220054.bak
我遇到的问题是,我需要使用正则表达式来匹配整个文件名,同时捕获其中带有日期的组。
我编写了此正则表达式以捕获捕获组1中的Date:
([0-9]{0,8}(?=\.txt))
使用在线正则表达式测试器,这似乎可以从我要查找的文件名中捕获正确的字符串,但是我无法弄清楚如何也获得正则表达式来匹配整个字符串。
这就是我要退货的
FULL MATCH: LBX845656_PayOnline_0528-**20191429**.txt.052819220054.bak
CAPTURE GROUP 1: 20191429
预先感谢您的任何建议。
答案 0 :(得分:-1)
我认为这是一个更简单的正则表达式,假设日期始终为8位数字,就可以解决您的问题。
如果您可以假定日期是文件名中唯一的8位数字字符串,则
^.*[^\d](\d{8})[^\d].*$
如果要假定其前面带有“-”并且具有“。”。之后
^.*-(\d{8})\..*$
如果您要假设其后跟.txt
^.*(\d{8})\.txt.*$