#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?m)(π¨)(?:([π»πΌπ½πΎπΏ])?(\x{200D}[π¦°π¦±π¦³π¦²])?\x{FE0F}?)?"
Local $sString = "Codepoints" & @CRLF & _
"" & @CRLF & _
" π¨ U+1F468" & @CRLF & _
"" & @CRLF & _
"Shortcodes" & @CRLF & _
"" & @CRLF & _
" :man:" & @CRLF & _
"" & @CRLF & _
"Related" & @CRLF & _
"" & @CRLF & _
" π¨ Man" & @CRLF & _
" π¨π» Man: Light Skin Tone" & @CRLF & _
" π¨πΌ Man: Medium-Light Skin Tone" & @CRLF & _
" π¨π½ Man: Medium Skin Tone" & @CRLF & _
" π¨πΎ Man: Medium-Dark Skin Tone" & @CRLF & _
" π¨πΏ Man: Dark Skin Tone" & @CRLF & _
" π© Woman" & @CRLF & _
" π©π» Woman: Light Skin Tone" & @CRLF & _
" π©πΌ Woman: Medium-Light Skin Tone" & @CRLF & _
" π©π½ Woman: Medium Skin Tone" & @CRLF & _
" π©πΎ Woman: Medium-Dark Skin Tone" & @CRLF & _
" π©πΏ Woman: Dark Skin Tone" & @CRLF & _
"" & @CRLF & _
"" & @CRLF & _
"See also" & @CRLF & _
"" & @CRLF & _
" π§ Man: Beard" & @CRLF & _
" π§π» Man: Light Skin Tone, Beard" & @CRLF & _
" π§πΌ Man: Medium-Light Skin Tone, Beard" & @CRLF & _
" π§π½ Man: Medium Skin Tone, Beard" & @CRLF & _
" π§πΎ Man: Medium-Dark Skin Tone, Beard" & @CRLF & _
" π§πΏ Man: Dark Skin Tone, Beard" & @CRLF & _
"" & @CRLF & _
" π¨β𦳠Man: White Hair" & @CRLF & _
" π¨π»β𦳠Man: Light Skin Tone, White Hair" & @CRLF & _
" π¨πΌβ𦳠Man: Medium-Light Skin Tone, White Hair" & @CRLF & _
" π¨π½β𦳠Man: Medium Skin Tone, White Hair" & @CRLF & _
" π¨πΎβ𦳠Man: Medium-Dark Skin Tone, White Hair" & @CRLF & _
" π¨πΏβ𦳠Man: Dark Skin Tone, White Hair" & @CRLF & _
" π©β𦳠Woman: White Hair" & @CRLF & _
" π©π»β𦳠Woman: Light Skin Tone, White Hair" & @CRLF & _
" π©πΌβ𦳠Woman: Medium-Light Skin Tone, White Hair" & @CRLF & _
" π©π½β𦳠Woman: Medium Skin Tone, White Hair" & @CRLF & _
" π©πΎβ𦳠Woman: Medium-Dark Skin Tone, White Hair" & @CRLF & _
" π©πΏβ𦳠Woman: Dark Skin Tone, White Hair" & @CRLF & _
"" & @CRLF & _
" π¨βπ¦° Man: Red Hair" & @CRLF & _
" π¨π»βπ¦° Man: Light Skin Tone, Red Hair" & @CRLF & _
" π¨πΌβπ¦° Man: Medium-Light Skin Tone, Red Hair" & @CRLF & _
" π¨π½βπ¦° Man: Medium Skin Tone, Red Hair" & @CRLF & _
" π¨πΎβπ¦° Man: Medium-Dark Skin Tone, Red Hair" & @CRLF & _
" π¨πΏβπ¦° Man: Dark Skin Tone, Red Hair" & @CRLF & _
" π©βπ¦° Woman: Red Hair" & @CRLF & _
" π©π»βπ¦° Woman: Light Skin Tone, Red Hair" & @CRLF & _
" π©πΌβπ¦° Woman: Medium-Light Skin Tone, Red Hair" & @CRLF & _
" π©π½βπ¦° Woman: Medium Skin Tone, Red Hair" & @CRLF & _
" π©πΎβπ¦° Woman: Medium-Dark Skin Tone, Red Hair" & @CRLF & _
" π©πΏβπ¦° Woman: Dark Skin Tone, Red Hair" & @CRLF & _
"" & @CRLF & _
" π¦ Boy" & @CRLF & _
" β Male Sign" & @CRLF & _
" πΊ Man Dancing" & @CRLF & _
" π² Man With Chinese Cap" & @CRLF & _
" π΄ Man in Suit Levitating" & @CRLF & _
" π€΅ Man in Tuxedo" & @CRLF & _
" π΄ Old Man" & @CRLF & _
" π΅ Old Woman" & @CRLF & _
" π
Santa Claus"
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