#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?m)Version\s(\d+\.\d+(?:\([^()+]\)[A-Z]\d|\.\d{2}[a-z]))"
Local $sString = "String 1-Cisco IOS Software, C3900 Software (C3900-UNIVERSALK9-M), Version 15.4(3)M3, RELEASE SOFTWARE (fc2)" & @CRLF & _
"ROM: System Bootstrap, Version 15.0(1r)M16, RELEASE SOFTWARE (fc1)" & @CRLF & _
"" & @CRLF & _
"String2-Cisco IOS XE Software, Version 16.05.01b" & @CRLF & _
"Cisco IOS Software [Everest], ISR Software (X86_64_LINUX_IOSD-UNIVERSALK9-M), Version 16.5.1b, RELEASE SOFTWARE (fc1)" & @CRLF & _
"licensed under the GNU General Public License ("GPL") Version 2.0. The" & @CRLF & _
"software code licensed under GPL Version 2.0 is free software that comes" & @CRLF & _
"GPL code under the terms of GPL Version 2.0. For more details, see the"
Local $aArray = StringRegExp($sString, $sRegex, $STR_REGEXPARRAYGLOBALFULLMATCH)
Local $aFullArray[0]
For $i = 0 To UBound($aArray) -1
_ArrayConcatenate($aFullArray, $aArray[$i])
Next
$aArray = $aFullArray
; Present the entire match result
_ArrayDisplay($aArray, "Result")
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 AutoIt, please visit: https://www.autoitscript.com/autoit3/docs/functions/StringRegExp.htm