#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?m)^(iPhone|iPad|iPod|Watch)(\d{1,2}),(\d{1}).*$"
Local $sString = "iPhone1,1 : iPhone" & @CRLF & _
"iPhone1,2 : iPhone 3G" & @CRLF & _
"iPhone2,1 : iPhone 3GS" & @CRLF & _
"iPhone3,1 : iPhone 4" & @CRLF & _
"iPhone3,2 : iPhone 4 GSM Rev A" & @CRLF & _
"iPhone3,3 : iPhone 4 CDMA" & @CRLF & _
"iPhone4,1 : iPhone 4S" & @CRLF & _
"iPhone5,1 : iPhone 5 (GSM)" & @CRLF & _
"iPhone5,2 : iPhone 5 (GSM+CDMA)" & @CRLF & _
"iPhone5,3 : iPhone 5C (GSM)" & @CRLF & _
"iPhone5,4 : iPhone 5C (Global)" & @CRLF & _
"iPhone6,1 : iPhone 5S (GSM)" & @CRLF & _
"iPhone6,2 : iPhone 5S (Global)" & @CRLF & _
"iPhone7,1 : iPhone 6 Plus" & @CRLF & _
"iPhone7,2 : iPhone 6" & @CRLF & _
"iPhone8,1 : iPhone 6s" & @CRLF & _
"iPhone8,2 : iPhone 6s Plus" & @CRLF & _
"iPhone8,4 : iPhone SE (GSM)" & @CRLF & _
"iPhone9,1 : iPhone 7" & @CRLF & _
"iPhone9,2 : iPhone 7 Plus" & @CRLF & _
"iPhone9,3 : iPhone 7" & @CRLF & _
"iPhone9,4 : iPhone 7 Plus" & @CRLF & _
"iPhone10,1 : iPhone 8" & @CRLF & _
"iPhone10,2 : iPhone 8 Plus" & @CRLF & _
"iPhone10,3 : iPhone X Global" & @CRLF & _
"iPhone10,4 : iPhone 8" & @CRLF & _
"iPhone10,5 : iPhone 8 Plus" & @CRLF & _
"iPhone10,6 : iPhone X GSM" & @CRLF & _
"iPhone11,2 : iPhone XS" & @CRLF & _
"iPhone11,4 : iPhone XS Max" & @CRLF & _
"iPhone11,6 : iPhone XS Max Global" & @CRLF & _
"iPhone11,8 : iPhone XR" & @CRLF & _
"iPhone12,1 : iPhone 11" & @CRLF & _
"iPhone12,3 : iPhone 11 Pro" & @CRLF & _
"iPhone12,5 : iPhone 11 Pro Max" & @CRLF & _
"iPhone12,8 : iPhone SE 2nd Gen" & @CRLF & _
"iPhone13,1 : iPhone 12 Mini" & @CRLF & _
"iPhone13,2 : iPhone 12" & @CRLF & _
"iPhone13,3 : iPhone 12 Pro" & @CRLF & _
"iPhone13,4 : iPhone 12 Pro Max" & @CRLF & _
"iPhone14,2 : iPhone 13 Pro" & @CRLF & _
"iPhone14,3 : iPhone 13 Pro Max" & @CRLF & _
"iPhone14,4 : iPhone 13 Mini" & @CRLF & _
"iPhone14,5 : iPhone 13" & @CRLF & _
"iPhone14,6 : iPhone SE 3rd Gen" & @CRLF & _
"iPhone14,7 : iPhone 14" & @CRLF & _
"iPhone14,8 : iPhone 14 Plus" & @CRLF & _
"iPhone15,2 : iPhone 14 Pro" & @CRLF & _
"iPhone15,3 : iPhone 14 Pro Max" & @CRLF & _
"" & @CRLF & _
"iPod1,1 : 1st Gen iPod" & @CRLF & _
"iPod2,1 : 2nd Gen iPod" & @CRLF & _
"iPod3,1 : 3rd Gen iPod" & @CRLF & _
"iPod4,1 : 4th Gen iPod" & @CRLF & _
"iPod5,1 : 5th Gen iPod" & @CRLF & _
"iPod7,1 : 6th Gen iPod" & @CRLF & _
"iPod9,1 : 7th Gen iPod" & @CRLF & _
"" & @CRLF & _
"iPad1,1 : iPad" & @CRLF & _
"iPad1,2 : iPad 3G" & @CRLF & _
"iPad2,1 : 2nd Gen iPad" & @CRLF & _
"iPad2,2 : 2nd Gen iPad GSM" & @CRLF & _
"iPad2,3 : 2nd Gen iPad CDMA" & @CRLF & _
"iPad2,4 : 2nd Gen iPad New Revision" & @CRLF & _
"iPad3,1 : 3rd Gen iPad" & @CRLF & _
"iPad3,2 : 3rd Gen iPad CDMA" & @CRLF & _
"iPad3,3 : 3rd Gen iPad GSM" & @CRLF & _
"iPad2,5 : iPad mini" & @CRLF & _
"iPad2,6 : iPad mini GSM+LTE" & @CRLF & _
"iPad2,7 : iPad mini CDMA+LTE" & @CRLF & _
"iPad3,4 : 4th Gen iPad" & @CRLF & _
"iPad3,5 : 4th Gen iPad GSM+LTE" & @CRLF & _
"iPad3,6 : 4th Gen iPad CDMA+LTE" & @CRLF & _
"iPad4,1 : iPad Air (WiFi)" & @CRLF & _
"iPad4,2 : iPad Air (GSM+CDMA)" & @CRLF & _
"iPad4,3 : 1st Gen iPad Air (China)" & @CRLF & _
"iPad4,4 : iPad mini Retina (WiFi)" & @CRLF & _
"iPad4,5 : iPad mini Retina (GSM+CDMA)" & @CRLF & _
"iPad4,6 : iPad mini Retina (China)" & @CRLF & _
"iPad4,7 : iPad mini 3 (WiFi)" & @CRLF & _
"iPad4,8 : iPad mini 3 (GSM+CDMA)" & @CRLF & _
"iPad4,9 : iPad Mini 3 (China)" & @CRLF & _
"iPad5,1 : iPad mini 4 (WiFi)" & @CRLF & _
"iPad5,2 : 4th Gen iPad mini (WiFi+Cellular)" & @CRLF & _
"iPad5,3 : iPad Air 2 (WiFi)" & @CRLF & _
"iPad5,4 : iPad Air 2 (Cellular)" & @CRLF & _
"iPad6,3 : iPad Pro (9.7 inch, WiFi)" & @CRLF & _
"iPad6,4 : iPad Pro (9.7 inch, WiFi+LTE)" & @CRLF & _
"iPad6,7 : iPad Pro (12.9 inch, WiFi)" & @CRLF & _
"iPad6,8 : iPad Pro (12.9 inch, WiFi+LTE)" & @CRLF & _
"iPad6,11 : iPad (2017)" & @CRLF & _
"iPad6,12 : iPad (2017)" & @CRLF & _
"iPad7,1 : iPad Pro 2nd Gen (WiFi)" & @CRLF & _
"iPad7,2 : iPad Pro 2nd Gen (WiFi+Cellular)" & @CRLF & _
"iPad7,3 : iPad Pro 10.5-inch 2nd Gen" & @CRLF & _
"iPad7,4 : iPad Pro 10.5-inch 2nd Gen" & @CRLF & _
"iPad7,5 : iPad 6th Gen (WiFi)" & @CRLF & _
"iPad7,6 : iPad 6th Gen (WiFi+Cellular)" & @CRLF & _
"iPad7,11 : iPad 7th Gen 10.2-inch (WiFi)" & @CRLF & _
"iPad7,12 : iPad 7th Gen 10.2-inch (WiFi+Cellular)" & @CRLF & _
"iPad8,1 : iPad Pro 11 inch 3rd Gen (WiFi)" & @CRLF & _
"iPad8,2 : iPad Pro 11 inch 3rd Gen (1TB, WiFi)" & @CRLF & _
"iPad8,3 : iPad Pro 11 inch 3rd Gen (WiFi+Cellular)" & @CRLF & _
"iPad8,4 : iPad Pro 11 inch 3rd Gen (1TB, WiFi+Cellular)" & @CRLF & _
"iPad8,5 : iPad Pro 12.9 inch 3rd Gen (WiFi)" & @CRLF & _
"iPad8,6 : iPad Pro 12.9 inch 3rd Gen (1TB, WiFi)" & @CRLF & _
"iPad8,7 : iPad Pro 12.9 inch 3rd Gen (WiFi+Cellular)" & @CRLF & _
"iPad8,8 : iPad Pro 12.9 inch 3rd Gen (1TB, WiFi+Cellular)" & @CRLF & _
"iPad8,9 : iPad Pro 11 inch 4th Gen (WiFi)" & @CRLF & _
"iPad8,10 : iPad Pro 11 inch 4th Gen (WiFi+Cellular)" & @CRLF & _
"iPad8,11 : iPad Pro 12.9 inch 4th Gen (WiFi)" & @CRLF & _
"iPad8,12 : iPad Pro 12.9 inch 4th Gen (WiFi+Cellular)" & @CRLF & _
"iPad11,1 : iPad mini 5th Gen (WiFi)" & @CRLF & _
"iPad11,2 : iPad mini 5th Gen" & @CRLF & _
"iPad11,3 : iPad Air 3rd Gen (WiFi)" & @CRLF & _
"iPad11,4 : iPad Air 3rd Gen" & @CRLF & _
"iPad11,6 : iPad 8th Gen (WiFi)" & @CRLF & _
"iPad11,7 : iPad 8th Gen (WiFi+Cellular)" & @CRLF & _
"iPad12,1 : iPad 9th Gen (WiFi)" & @CRLF & _
"iPad12,2 : iPad 9th Gen (WiFi+Cellular)" & @CRLF & _
"iPad14,1 : iPad mini 6th Gen (WiFi)" & @CRLF & _
"iPad14,2 : iPad mini 6th Gen (WiFi+Cellular)" & @CRLF & _
"iPad13,1 : iPad Air 4th Gen (WiFi)" & @CRLF & _
"iPad13,2 : iPad Air 4th Gen (WiFi+Cellular)" & @CRLF & _
"iPad13,4 : iPad Pro 11 inch 5th Gen" & @CRLF & _
"iPad13,5 : iPad Pro 11 inch 5th Gen" & @CRLF & _
"iPad13,6 : iPad Pro 11 inch 5th Gen" & @CRLF & _
"iPad13,7 : iPad Pro 11 inch 5th Gen" & @CRLF & _
"iPad13,8 : iPad Pro 12.9 inch 5th Gen" & @CRLF & _
"iPad13,9 : iPad Pro 12.9 inch 5th Gen" & @CRLF & _
"iPad13,10 : iPad Pro 12.9 inch 5th Gen" & @CRLF & _
"iPad13,11 : iPad Pro 12.9 inch 5th Gen" & @CRLF & _
"iPad13,16 : iPad Air 5th Gen (WiFi)" & @CRLF & _
"iPad13,17 : iPad Air 5th Gen (WiFi+Cellular)" & @CRLF & _
"iPad13,18: iPad 10th Gen" & @CRLF & _
"iPad13,19: iPad 10th Gen" & @CRLF & _
"iPad14,3-A: iPad Pro 11 inch 4th Gen" & @CRLF & _
"iPad14,3-B: iPad Pro 11 inch 4th Gen" & @CRLF & _
"iPad14,4-A: iPad Pro 11 inch 4th Gen" & @CRLF & _
"iPad14,4-B: iPad Pro 11 inch 4th Gen" & @CRLF & _
"iPad14,5-A: iPad Pro 12.9 inch 6th Gen" & @CRLF & _
"iPad14,5-B: iPad Pro 12.9 inch 6th Gen" & @CRLF & _
"iPad14,6-A: iPad Pro 12.9 inch 6th Gen" & @CRLF & _
"iPad14,6-B: iPad Pro 12.9 inch 6th Gen" & @CRLF & _
"" & @CRLF & _
"Watch1,1 : Apple Watch 38mm case" & @CRLF & _
"Watch1,2 : Apple Watch 42mm case" & @CRLF & _
"Watch2,6 : Apple Watch Series 1 38mm case" & @CRLF & _
"Watch2,7 : Apple Watch Series 1 42mm case" & @CRLF & _
"Watch2,3 : Apple Watch Series 2 38mm case" & @CRLF & _
"Watch2,4 : Apple Watch Series 2 42mm case" & @CRLF & _
"Watch3,1 : Apple Watch Series 3 38mm case (GPS+Cellular)" & @CRLF & _
"Watch3,2 : Apple Watch Series 3 42mm case (GPS+Cellular)" & @CRLF & _
"Watch3,3 : Apple Watch Series 3 38mm case (GPS)" & @CRLF & _
"Watch3,4 : Apple Watch Series 3 42mm case (GPS)" & @CRLF & _
"Watch4,1 : Apple Watch Series 4 40mm case (GPS)" & @CRLF & _
"Watch4,2 : Apple Watch Series 4 44mm case (GPS)" & @CRLF & _
"Watch4,3 : Apple Watch Series 4 40mm case (GPS+Cellular)" & @CRLF & _
"Watch4,4 : Apple Watch Series 4 44mm case (GPS+Cellular)" & @CRLF & _
"Watch5,1 : Apple Watch Series 5 40mm case (GPS)" & @CRLF & _
"Watch5,2 : Apple Watch Series 5 44mm case (GPS)" & @CRLF & _
"Watch5,3 : Apple Watch Series 5 40mm case (GPS+Cellular)" & @CRLF & _
"Watch5,4 : Apple Watch Series 5 44mm case (GPS+Cellular)" & @CRLF & _
"Watch5,9 : Apple Watch SE 40mm case (GPS)" & @CRLF & _
"Watch5,10 : Apple Watch SE 44mm case (GPS)" & @CRLF & _
"Watch5,11 : Apple Watch SE 40mm case (GPS+Cellular)" & @CRLF & _
"Watch5,12 : Apple Watch SE 44mm case (GPS+Cellular)" & @CRLF & _
"Watch6,1 : Apple Watch Series 6 40mm case (GPS)" & @CRLF & _
"Watch6,2 : Apple Watch Series 6 44mm case (GPS)" & @CRLF & _
"Watch6,3 : Apple Watch Series 6 40mm case (GPS+Cellular)" & @CRLF & _
"Watch6,4 : Apple Watch Series 6 44mm case (GPS+Cellular)" & @CRLF & _
"Watch6,6 : Apple Watch Series 7 41mm case (GPS)" & @CRLF & _
"Watch6,7 : Apple Watch Series 7 45mm case (GPS)" & @CRLF & _
"Watch6,8 : Apple Watch Series 7 41mm case (GPS+Cellular)" & @CRLF & _
"Watch6,9 : Apple Watch Series 7 45mm case (GPS+Cellular)" & @CRLF & _
"Watch6,10 : Apple Watch SE 40mm case (GPS)" & @CRLF & _
"Watch6,11 : Apple Watch SE 44mm case (GPS)" & @CRLF & _
"Watch6,12 : Apple Watch SE 40mm case (GPS+Cellular)" & @CRLF & _
"Watch6,13 : Apple Watch SE 44mm case (GPS+Cellular)" & @CRLF & _
"Watch6,14 : Apple Watch Series 8 41mm case (GPS)" & @CRLF & _
"Watch6,15 : Apple Watch Series 8 45mm case (GPS)" & @CRLF & _
"Watch6,16 : Apple Watch Series 8 41mm case (GPS+Cellular)" & @CRLF & _
"Watch6,17 : Apple Watch Series 8 45mm case (GPS+Cellular)" & @CRLF & _
"Watch6,18 : Apple Watch Ultra"
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