#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?m)^[a-z][a-z0-9]*(([A-Z][a-z0-9]+)*[A-Z]?|([a-z0-9]+[A-Z])*|[A-Z])$"
Local $sString = "snake_case" & @CRLF & _
"PascalCase" & @CRLF & _
"2PascalCase" & @CRLF & _
"streamIOIO" & @CRLF & _
"gREATERDtha" & @CRLF & _
"modeADFAFdsADFads" & @CRLF & _
"aBabcABCDabcABC" & @CRLF & _
"modeADFdsADFads" & @CRLF & _
"streamIO" & @CRLF & _
"aBCabcABCabcA" & @CRLF & _
"aBCabcA" & @CRLF & _
"aabcABC" & @CRLF & _
"deviceSNS" & @CRLF & _
"pathASNs" & @CRLF & _
"dscpCP" & @CRLF & _
"awsVPC" & @CRLF & _
"deviceID" & @CRLF & _
"gREA1" & @CRLF & _
"gREAt" & @CRLF & _
"gREAtREAt" & @CRLF & _
"aABC" & @CRLF & _
"modeADFsADFads" & @CRLF & _
"modeADFads" & @CRLF & _
"createAMode" & @CRLF & _
"createBMode" & @CRLF & _
"contextHTMLParser" & @CRLF & _
"ibsReleaseTestVerificationRegressioNSuite" & @CRLF & _
"hELLO" & @CRLF & _
"camelCA" & @CRLF & _
"camel01CC01" & @CRLF & _
"camelCa_1" & @CRLF & _
"aabc123" & @CRLF & _
"a" & @CRLF & _
"ab" & @CRLF & _
"abc" & @CRLF & _
"abcd" & @CRLF & _
"abcde" & @CRLF & _
"camelCasecamelCasecamelCasecamelCasecamelCasecamelCase" & @CRLF & _
"aG" & @CRLF & _
"alphabet" & @CRLF & _
"cP3" & @CRLF & _
"a1" & @CRLF & _
"a1G" & @CRLF & _
"a123" & @CRLF & _
"camelCase" & @CRLF & _
"lThan30DaysCount" & @CRLF & _
"lessThan30DaysCount" & @CRLF & _
"lessThan30DaysCountA" & @CRLF & _
"greaterThan30LessThan60DaysCount" & @CRLF & _
"greaterThan60LessThan90DaysCount" & @CRLF & _
"greaterThan90DaysCount" & @CRLF & _
"pascalCase" & @CRLF & _
"pascal2Case" & @CRLF & _
"pascalCaseA" & @CRLF & _
"pascal2CaseA" & @CRLF & _
"modeA" & @CRLF & _
"mode2A" & @CRLF & _
"mode2A2" & @CRLF & _
"mode2A2A" & @CRLF & _
"madeEasy" & @CRLF & _
"wonderFul" & @CRLF & _
"andMe" & @CRLF & _
"htmlParser" & @CRLF & _
"h" & @CRLF & _
"aaA" & @CRLF & _
"camel01C" & @CRLF & _
"camel01c01" & @CRLF & _
"camel01C01" & @CRLF & _
"camel0a1c1" & @CRLF & _
"camel0a1C1" & @CRLF & _
"camel0ac1b1C1" & @CRLF & _
"camelC" & @CRLF & _
"camelC1" & @CRLF & _
"camelCa1" & @CRLF & _
"ibsReleaseTestVerificationRegressionSuite" & @CRLF & _
"ibsReleaseTestVerificationRegressioN" & @CRLF & _
"xmlHttpRequest" & @CRLF & _
"newCustomerId" & @CRLF & _
"innerStopwatch" & @CRLF & _
"supportsIpv6OnIos" & @CRLF & _
"youTubeImporter" & @CRLF & _
"youtubeImporter" & @CRLF & _
"affine3D"
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