如何使用OR进行正则表达式

时间:2019-05-16 00:52:33

标签: python

基于设备的两个输入,需要使用Or匹配任何输入,并提供版本输出,例如7.0.3I4.6或7.1.4.N1.1

输入1 NXOS映像文件为:bootflash:///nxos.7.0.3.I4.6.bin

输入2 kickstart映像文件是:bootflash:///n6000-uk9-kickstart.7.1.4.N1.1.bin 系统映像文件是:bootflash:///n6000-uk9.7.1.4.N1.1.bin

请建议如何使用Or和正则表达式进行过滤

尝试

regex_version = re.compile(r'(NXOS:\sversion\s(\S+))|(kickstart:\sversion\s(\S+))')

version = regex_version.findall(input)

尝试

regex_version = re.compile(r'(NXOS:\sversion\s(\S+))|(kickstart:\sversion\s(\S+))')

version = regex_version.findall(input)

输出: [('NXOS:版本7.0(3)I4(6)','7.0(3)I4(6)','',''))] [('',``,'kickstart:版本7.1(4)N1(1)','7.1(4)N1(1)')]

如何根据输入内容过滤7.0(3)I4(6)和7.1(4)N1(1)

1 个答案:

答案 0 :(得分:1)

使用|(OR)运算符非常简单:

regex_version = re.compile(r'(NXOS:\sversion\s(\S+)|kickstart:\sversion\s(\S+))')

关键是OR运算符介于两个术语之间,没有定界括号或括号