把它分成4组
组:
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
试过这个-
(\w+)(-?)_(\d{4}\d{2}\d{2})(\w+)?(\.csv|\.dat|\.txt)?
但似乎没用。怎么办?
既然你想抓住 全部的 不管日期子字符串之前的文本是什么,看起来您只需在初始组中包含破折号和下划线: ([\w-_]+)
([\w-_]+)
你也可以使用 ^ 和 $
^
$
^([\w-_]+)(\d{4}\d{2}\d{2})(\w+)?(\.csv|\.dat|\.txt)?$
https://regex101.com/r/M5kIo6/1