#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?m)^[A-Z](([a-z]+[A-Z]?)*)$"
Local $sString = "ABCD" & @CRLF & _
"ABCDE" & @CRLF & _
"snake_case" & @CRLF & _
"camelCase" & @CRLF & _
"2PascalCase" & @CRLF & _
"streamIOIO" & @CRLF & _
"gREATERDtha" & @CRLF & _
"MdeADFAFdsADFads" & @CRLF & _
"DeviceSNSD" & @CRLF & _
"AabcABCD" & @CRLF & _
"AabcABCDabcABCD" & @CRLF & _
"ABabcABCD" & @CRLF & _
"ABabcABCDabcABCD" & @CRLF & _
"ABCabcABCD" & @CRLF & _
"ABCabcABCDabcABCDabcABCDabcABCD" & @CRLF & _
"ABCDabcABCD" & @CRLF & _
"ABCDabcABCDabcABCDabcABCDabcABCD" & @CRLF & _
"HTMLParser" & @CRLF & _
"ABabcABCDbcABC" & @CRLF & _
"ABCDabcABC" & @CRLF & _
"ABCDabcAB" & @CRLF & _
"ABCDabcA" & @CRLF & _
"AaABC" & @CRLF & _
"AabcABCabcABC" & @CRLF & _
"MoeADFdsADFads" & @CRLF & _
"ABCabcABC" & @CRLF & _
"ABCabcAB" & @CRLF & _
"ABabcABC" & @CRLF & _
"ABabcAB" & @CRLF & _
"AabcAB" & @CRLF & _
"ABCabcABCabcA" & @CRLF & _
"ABCabcA" & @CRLF & _
"Aabc123" & @CRLF & _
"AabcABC" & @CRLF & _
"AB" & @CRLF & _
"ABC" & @CRLF & _
"StreamIO" & @CRLF & _
"IOStream" & @CRLF & _
"DeviceID" & @CRLF & _
"DeviceSNS" & @CRLF & _
"HELLO" & @CRLF & _
"Camel01C" & @CRLF & _
"Camel01c01" & @CRLF & _
"Camel01C01" & @CRLF & _
"Camel01CC01" & @CRLF & _
"Camel0a1c1" & @CRLF & _
"Camel0a1C1" & @CRLF & _
"Camel0ac1b1C1" & @CRLF & _
"CamelC1" & @CRLF & _
"CamelCA" & @CRLF & _
"CamelCa1" & @CRLF & _
"CamelCa_1" & @CRLF & _
"IbsReleaseTestVerificationRegressioNSuite" & @CRLF & _
"Pascal2CaseA" & @CRLF & _
"SupportsIpv6OnIos" & @CRLF & _
"Affine3D" & @CRLF & _
"Pascal2Case" & @CRLF & _
"Mode2A" & @CRLF & _
"Mode2A2" & @CRLF & _
"Mode2A2A" & @CRLF & _
"CreateAMode" & @CRLF & _
"CreateBMode" & @CRLF & _
"ContextHTMLParser" & @CRLF & _
"Context" & @CRLF & _
"A" & @CRLF & _
"Ag" & @CRLF & _
"PacalCasePacalCasePacalCasePacalCasePacalCasePacalCase" & @CRLF & _
"PascalCase" & @CRLF & _
"PascalCaseA" & @CRLF & _
"ModeA" & @CRLF & _
"MadeEasy" & @CRLF & _
"WonderFul" & @CRLF & _
"AndMe" & @CRLF & _
"HtmlParser" & @CRLF & _
"H" & @CRLF & _
"AaA" & @CRLF & _
"CamelC" & @CRLF & _
"IbsReleaseTestVerificationRegressionSuite" & @CRLF & _
"IbsReleaseTestVerificationRegressioN" & @CRLF & _
"XmlHttpRequest" & @CRLF & _
"NewCustomerId" & @CRLF & _
"InnerStopwatch" & @CRLF & _
"YouTubeImporter" & @CRLF & _
"YoutubeImporter"
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