代码之家  ›  专栏  ›  技术社区  ›  1pluszara

Python2:匹配所有名称的Regex模式

  •  0
  • 1pluszara  · 技术社区  · 7 年前

    把它分成4组

    组:

    1. 日期模式
    2. 分机(任何或无分机)

    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)?
    

    但似乎没用。怎么办?

    1 回复  |  直到 7 年前
        1
  •  0
  •   CertainPerformance    7 年前

    既然你想抓住 全部的 不管日期子字符串之前的文本是什么,看起来您只需在初始组中包含破折号和下划线: ([\w-_]+)

    你也可以使用 ^ $

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

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