我有一组文件名,例如:
PATJVI_RNA_Tumor_8_3_63BJTAAXX.310_BUSTARD-2012-02-19.fq.gz
PATMIF_RNA_Tumor_CGTGAT_2_1_BC0NKBACXX.334_BUSTARD-2012-05-07.fq.gz
我想要一个可以捕获“_”字符之间的每个组的单个正则表达式(在 python 中,仅供参考)。但是,请注意,在第二个文件名中,存在第一个文件名中不存在的组。当然,可以使用字符串拆分等,但我想用一个正则表达式来做到这一点。第一个文件名的正则表达式类似于:
(\w+)_(\w+)_(\w+)_(\d)_(\d)_(\w+)\.(\d+)_(\S+)\.fq\.gz
第二个将是:
(\w+)_(\w+)_(\w+)_(\w+)_(\d)_(\d)_(\w+)\.(\d+)_(\S+)\.fq\.gz
我希望正则表达式组在存在可选组时为空,并在存在可选组时包含可选组(以便稍后我可以使用它来构造带有 \4 的新文件名)。