# coding=utf8
# the above tag defines encoding for this document and is for Python 2.x compatibility
import re
regex = r"(VRP.+|Cisco\sIOS.+)(Version\s\S+)|(HUAWEI\s\S+|cisco\s\S+)"
test_str = ("<RMCOVTA0201>dis ver\n"
"Huawei Versatile Routing Platform Software\n"
"VRP (R) software, Version 8.10 (CX600 V800R007C10)\n"
"Copyright (C) 2012-2014 Huawei Technologies Co., Ltd.\n"
"HUAWEI CX600-X2-M16 uptime is 902 days, 1 hour, 17 minutes \n\n"
"CX600-X2-M16 version information:\n"
"- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n"
"BKP version information:\n"
" PCB Version : CX68BKP03B REV B\n"
" MPU Slot Quantity : 2\n"
" NPU Slot Quantity : 2\n"
" CARD Slot Quantity : 16\n"
"- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \n"
"MPU version information:\n\n"
"MPU (Master) 19 : uptime is 902 days, 1 hour, 16 minutes\n"
" StartupTime 2015/04/16 19:22:14\n"
" SDRAM Memory Size : 2048 M bytes\n"
" FLASH Memory Size : 16 M bytes\n"
" NVRAM Memory Size : 4096 K bytes\n"
" CFCARD Memory Size : 2048 M bytes\n"
" CX6D00MPUK70 version information:\n"
" PCB Version : CX68MPUK REV B\n"
" EPLD Version : 106\n"
" FPGA Version : 107\n"
" BootROM Version : 03.47\n"
" BootLoad Version : 03.47\n\n"
"MPU (Slave) 20 : uptime is 902 days, 1 hour, 14 minutes\n"
" StartupTime 2015/04/16 19:24:06\n"
" SDRAM Memory Size : 2048 M bytes\n"
" FLASH Memory Size : 16 M bytes\n"
" NVRAM Memory Size : 4096 K bytes\n"
" CFCARD Memory Size : 2048 M bytes\n"
" CX6D00MPUK70 version information:\n"
" PCB Version : CX68MPUK REV B\n"
" EPLD Version : 106\n"
" FPGA Version : 107\n"
" BootROM Version : 03.47\n"
" BootLoad Version : 03.47\n"
"- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \n"
"NPU version information:\n\n"
"NPU 17 : uptime is 902 days, 1 hour, 14 minutes\n"
" StartupTime 2015/04/16 19:24:17\n"
" Host processor :\n"
" SDRAM Memory Size : 2048 M bytes\n"
" Flash Memory Size : 128 M bytes\n"
" LPU CR5DNPU12070 version information:\n"
" PCB Version : CX68NPU120A REV BCisco IOS XR Software, Version 5.1.3[Default]\n\n"
"RP/0/RSP0/CPU0:RMCOCEM0101#sh ver\n"
"Wed Oct 4 12:47:21.939 BRT\n\n"
"Cisco IOS XR Software, Version 5.1.3[Default]\n\n"
"Copyright (c) 2015 by Cisco Systems, Inc.\n\n"
"ROM: System Bootstrap, Version 0.75(c) 1994-2012 by Cisco Systems, Inc.\n\n"
"RMCOCEM0101 uptime is 39 weeks, 2 hours, 6 minutes\n"
"System image file is \"disk0:asr9k-os-mbi-5.1.3.CSCur21570-1.0.0/0x100305/mbiasr9k-rsp3.vm\"\n\n"
"cisco ASR9K Series (Intel 686 F6M14S4) processor with 6291456K bytes of memory.\n"
"Intel 686 F6M14S4 processor at 2127MHz, Revision 2.174\n"
"ASR 9006 DC Chassis with PEM Version 2\n\n"
"4 Management Ethernet\n"
"40 GigabitEthernet\n"
"8 TenGigE\n"
"8 DWDM controller(s)\n"
"8 WANPHY controller(s)\n"
"503k bytes of non-volatile configuration memory.\n"
"6220M bytes of hard disk.\n"
"12510192k bytes of disk0: (Sector size 512 bytes).\n"
"12510192k bytes of disk1: (Sector size 512 bytes).\n\n"
"Configuration register on node 0/RSP0/CPU0 is 0x2102\n"
"Boot device on node 0/RSP0/CPU0 is disk0:\n"
"Package active on node 0/RSP0/CPU0:\n"
"iosxr-fwding-5.1.3.CSCur07854, V 1.0.0[SMU], Cisco Systems, at disk0:iosxr-fwding-5.1.3.CSCur07854-1.0.0\n"
" Built on Fri Oct 17 03:14:03 BRT 2014\n"
" By iox-bld1 in /scratch1/smu/EFR/smu_r51x_5_1_3/workspace for pie\n\n"
"RP/0/RSP0/CPU0:RTARRCE0202#sh ver\n"
"Wed Oct 4 13:06:41.766 BRT\n\n"
"Cisco IOS XR Software, Version 5.1.3[Default]\n"
"Copyright (c) 2015 by Cisco Systems, Inc.\n\n"
"ROM: System Bootstrap, Version 0.71(c) 1994-2012 by Cisco Systems, Inc.\n\n"
"RTARRCE0202 uptime is 1 year, 28 weeks, 8 hours, 58 minutes\n"
"System image file is \"disk0:asr9k-os-mbi-5.1.3.CSCuv70838-1.0.0/0x100305/mbiasr9k-rsp3.vm\"\n\n"
"cisco ASR9K Series (Intel 686 F6M14S4) processor with 6291456K bytes of memory.\n"
"Intel 686 F6M14S4 processor at 2128MHz, Revision 2.174\n"
"ASR 9006 DC Chassis with PEM Version 2\n\n"
"2 Management Ethernet\n"
"20 TenGigE\n"
"20 DWDM controller(s)\n"
"20 WANPHY controller(s)\n"
"20 GigabitEthernet\n"
"503k bytes of non-volatile configuration memory.\n"
"6271M bytes of hard disk.\n"
"11817968k bytes of disk0: (Sector size 512 bytes).\n"
"11817968k bytes of disk1: (Sector size 512 bytes).\n\n"
"Configuration register on node 0/RSP0/CPU0 is 0x2102\n"
"Boot device on node 0/RSP0/CPU0 is disk0:\n"
"Package active on node 0/RSP0/CPU0:\n"
"iosxr-fwding-5.1.3.CSCux30811, V 1.0.0[SMU], Cisco Systems, at disk0:iosxr-fwding-5.1.3.CSCux30811-1.0.0\n"
" Built on Fri Dec 11 19:52:18 BRTSUMMERTIME 2015\n"
" By iox-lnx-008 in /san1/smu/EFR/smu_r51x_5_1_3/workspace for pie\n\n"
"asr9k-px-5.1.3.CSCux30811, V 1.0.0[SMU], Cisco Systems, at disk0:asr9k-px-5.1.3.CSCux30811-1.0.0\n"
" Built on Fri Dec 11 19:52:21 BRTSUMMERTIME 2015\n"
" By iox-lnx-008 in /san1/smu/EFR/smu_r51x_5_1_3/workspace for pie\n\n"
"BFGME10#sh ver\n"
"Cisco IOS Software, c7600rsp72043_rp Software (c7600rsp72043_rp-ADVENTERPRISEK9-M), Version 15.3(3)S4, RELEASE SOFTWARE (fc1)\n"
"Technical Support: http://www.cisco.com/techsupport\n"
"Copyright (c) 1986-2014 by Cisco Systems, Inc.\n"
"Compiled Fri 19-Sep-14 01:29 by prod_rel_team\n\n"
"ROM: System Bootstrap, Version 12.2(33r)SRE2, RELEASE SOFTWARE (fc1)\n"
"BOOTLDR: Cisco IOS Software, c7600rsp72043_rp Software (c7600rsp72043_rp-ADVENTERPRISEK9-M), Version 15.3(3)S4, RELEASE SOFTWARE (fc1)\n\n"
"BFGME10 uptime is 2 years, 14 weeks, 14 hours, 24 minutes\n"
"Uptime for this control processor is 2 years, 14 weeks, 12 hours, 59 minutes\n"
"System returned to ROM by power cycle (SP by power on)\n"
"System restarted at 23:57:22 UTC Sun Jun 28 2015\n"
"System image file is \"sup-bootdisk:/c7600rsp72043-adventerprisek9-mz.153-3.S4.bin\"\n"
"Last reload type: Normal Reload\n"
"Last reload reason: power-on\n\n\n\n"
"This product contains cryptographic features and is subject to United\n"
"States and local country laws governing import, export, transfer and\n"
"use. Delivery of Cisco cryptographic products does not imply\n"
"third-party authority to import, export, distribute or use encryption.\n"
"Importers, exporters, distributors and users are responsible for\n"
"compliance with U.S. and local country laws. By using this product you\n"
"agree to comply with applicable laws and regulations. If you are unable\n"
"to comply with U.S. and local laws, return this product immediately.\n\n"
"A summary of U.S. laws governing Cisco cryptographic products may be found at:\n"
"http://www.cisco.com/wwl/export/crypto/tool/stqrg.html\n\n"
"<RMAGLRA-LMPN02-01>dis\n"
"<RMAGLRA-LMPN02-01>display ver\n"
"Huawei Versatile Routing Platform Software\n"
"VRP (R) software, Version 8.10 (CX600 V800R007C10)\n"
"Copyright (C) 2012-2014 Huawei Technologies Co., Ltd.\n"
"HUAWEI CX600-X2-M8 uptime is 434 days, 2 hours, 3 minutes \n\n"
"CX600-X2-M8 version information:\n"
"- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n"
"BKP version information:\n"
" PCB Version : CX68BKP02B REV B\n"
" MPU Slot Quantity : 2\n"
" NPU Slot Quantity : 2\n"
" CARD Slot Quantity : 8\n"
"- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \n"
"MPU version information:\n")
matches = re.finditer(regex, test_str)
for matchNum, match in enumerate(matches, start=1):
print ("Match {matchNum} was found at {start}-{end}: {match}".format(matchNum = matchNum, start = match.start(), end = match.end(), match = match.group()))
for groupNum in range(0, len(match.groups())):
groupNum = groupNum + 1
print ("Group {groupNum} found at {start}-{end}: {group}".format(groupNum = groupNum, start = match.start(groupNum), end = match.end(groupNum), group = match.group(groupNum)))
# Note: for Python 2.7 compatibility, use ur"" to prefix the regex and u"" to prefix the test string and substitution.
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Python, please visit: https://docs.python.org/3/library/re.html