【问题标题】:Python: Display all options of a Unix wildcarded string with square brackets (reverse glob/fnmatch)Python:显示带有方括号的 Unix 通配符字符串的所有选项(反向 glob/fnmatch)
【发布时间】:2021-02-25 21:33:04
【问题描述】:

我有一个大型数据集,其中包含多行通配符字符串,例如

8145[012]
8146[01234]
8147[0134567]

我想要一种有效的方法将这些扩展为每个组合的唯一行,例如

81450
81451
81452
81460
81461
81462
etc...

在 Python 3.7 中最有效的方法是什么?

【问题讨论】:

    标签: python unix wildcard glob fnmatch


    【解决方案1】:

    使用正则表达式解析通配符,然后迭代:

    
    import re
    
    data = ['8145[012]', '8146[01234]', '8147[0134567]']
    
    for wildcard in data:
        base, combos = re.search(r'(\d+)\[(\d+)\]', wildcard).groups()
        for combo in combos:
            print(base + combo)
    

    输出:

    81450
    81451
    81452
    81460
    81461
    81462
    81463
    81464
    81470
    81471
    81473
    81474
    81475
    81476
    81477
    

    【讨论】:

      猜你喜欢
      • 2016-01-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-04
      • 2013-06-22
      • 1970-01-01
      • 2016-06-05
      • 1970-01-01
      相关资源
      最近更新 更多