基于设备的两个输入,需要使用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)
答案 0 :(得分:1)
使用|
(OR)运算符非常简单:
regex_version = re.compile(r'(NXOS:\sversion\s(\S+)|kickstart:\sversion\s(\S+))')
关键是OR运算符介于两个术语之间,没有定界括号或括号