Python2:正则表达式模式以匹配所有名称

时间:2018-08-19 03:59:41

标签: python regex python-2.x

下面是文件夹中的文件,想要编写一个正则表达式模式以匹配所有文件名 并将其分成4个组,例如

组:

  1. 日期格式之前的文本
  2. 日期模式
  3. 日期格式后的文字
  4. 扩展名(任何扩展名或没有扩展名)

名称:

totalLosses

尝试过-

XYZ_XY__T_20180808_88
GYG_20180813.csv
JENNY_BH_COSTUMES_T_20180808_88.csv
JKS9KS9_DDD_20180809_2.txt
AMY_BH_MAKEUP_T_20180808_88.dat
UUB-134941099-00002531-003_20180814
usa-Nasa_Y_20180806_01.csv
usa-Tpkyo-HHDY_Y_20180806_01.csv

但似乎不起作用。该怎么办?

1 个答案:

答案 0 :(得分:0)

由于您想捕获日期子字符串之前的所有全部文本,因此您要做的就是在初始组([\w-_]+)中添加破折号和下划线:捕获可选的独立破折号的以下组):

您还可以使用^$来确保匹配项覆盖整行:

^([\w-_]+)(\d{4}\d{2}\d{2})(\w+)?(\.csv|\.dat|\.txt)?$

https://regex101.com/r/M5kIo6/1