以下是我目前获得的正则表达式代码,我列出了当前匹配的内容以及我无法与之匹配的内容。
v[\d]\.[\d]+_ABC [\w\-]+ v\d{2}\.\d - [\w\d\-, \(\)]+ \d{4}_[A-Z]{4}_20\d{2}-[01]\d-[0-3]\d\.zip
目前匹配的内容:
v2.9_ABC Test v13.1 - Ga-On, 09 October 2004_ABCD_2014-07-21.zip
v2.9_ABC Test v13.1 - Jabba, 01 October 1991_ABCD_2014-07-21.zip
v2.9_ABC Test v13.1 - Wock, 23 August 2005, Temp() 2011_ABCD_2014-07-21.zip
目前不匹配的内容:
v1.1_ABC Test v13.1 - Temp Test, 11 September 1926 _ABCD_2014-07-21.zip
v2.9_ABC Test v13.1 - Temp, 20 March 2006 (Low)_ABCD_2014-07-21.zip
v2.9_ABC Test v13.1 - Temp, 20 March 2006 (High)_ABCD_2014-07-21.zip
v2.9_ABC Test v13.1 - Temp, 02 March 1987, Alternative Attn_ABCD_2014-07-21.zip
答案 0 :(得分:2)
我调整了你的Regex并使用了以下两种指定模式:
/v[\d]\.[\d]+_ABC [\w\-]+ v\d{2}\.\d - [\w\d\-, \(\)]*_[A-Z]{4}_20\d{2}-[01]\d-[0-3]\d\.zip
答案 1 :(得分:0)
不知道你是否想要精确的格式匹配,但以下匹配你给出的所有输入。它不是完全硬编码,而是某种程度。准确地说是开始和结束。
pattern=re.compile(r"v\d.\d_ABC \w+ v\d+.\d - .*? \S+?\d+?-\d+?-\d+?.zip")
硬编码方法将涉及其他组合。
答案 2 :(得分:0)
试试这个:
v[\d]\.[\d]+_ABC [\w\-]+ v\d{2}\.\d - [\w\d\-, \\]+ [^\d]*?(\d{4})?_[A-Z]{4}_20\d{2}-[01]\d-[0-3]\d\.zip