我的正则表达式只有当我不包含'或'选项时才匹配;但我需要包括,因为我需要匹配不同的字符串。为什么我的正则表达式返回None?
entries[0] = 'ephname = /share/old/eph/2004A.1770.comb'
print re.search(r'\s?ephname\s?=\s?.*?\.s(\d+).*?\s?|\s?ephname\s?=\s?.*?(\d+)
\.comb\s?', entries[0]).group(1)
>>> None
但如果我这样做,而不是它的工作原理:
print re.search(r'\s?ephname\s?=\s?.*?(\d+)\.comb\s?', entries[0]).group(1)
>>> 1770
我想不通,为什么第一次尝试时不匹配任何东西。有人知道为什么
因为[它是在第2组,如果你使用你的第一个正则表达式(HTTPS ://regex101.com/r/Gc2KzX/1)。 –
啊,谢谢!有没有办法让我打印出来,不管它是不是None? –
不知道你的要求是什么,但是[this](https://ideone.com/RCyj1B)会有帮助。 –