#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?m)(((?# FIRST TYPE OF ARGS\" & @CRLF & _
")(?#start arg)("|'|`)(?#\" & @CRLF & _
")(?#arg)(?<arg>(?# whole repeat pattern)((?!\3)(?(?!\\).|..))*)(?#\" & @CRLF & _
")(?#end arg)\3(?#\" & @CRLF & _
"))|((?# SECOND TYPE OF ARGS\" & @CRLF & _
")(?#start arg)(^|\s+)(?#\" & @CRLF & _
")(?#arg)(?<arg_>(?#whole repeat pattern)((?!\s|$)(?(?!\\).|..))+)(?#\" & @CRLF & _
")))(?#\" & @CRLF & _
"skipping trailing whitespaces)(\s|^|$)*(?=(\s|^|$|"|'|`))"
Local $sString = " arg0\ \ \\ "arg1\"\"" "arg2\"\\""arg3 \"" 'arg4"arg4"' arg5 arg6 " & @CRLF & _
"" & @CRLF & _
" space_bef_and_aft_even_arg0 arg1 arg2 arg3 arg4 arg5 arg6 arg7 arg8 arg9 " & @CRLF & _
" space_bef_and_aft_odd__arg0 arg1 arg2 arg3 arg4 arg5 arg6 arg7 arg8 " & @CRLF & _
"space_aft_even__________arg0 arg1 arg2 arg3 arg4 arg5 arg6 arg7 arg8 arg9 " & @CRLF & _
"space_aft_odd___________arg0 arg1 arg2 arg3 arg4 arg5 arg6 arg7 arg8 " & @CRLF & _
" space_bef_even_________arg0 arg1 arg2 arg3 arg4 arg5 arg6 arg7 arg8 arg9" & @CRLF & _
" space_bef_odd__________arg0 arg1 arg2 arg3 arg4 arg5 arg6 arg7 arg8" & @CRLF & _
"nospace_even____________arg0 arg1 arg2 arg3 arg4 arg5 arg6 arg7 arg8 arg9" & @CRLF & _
"nospace_odd_____________arg0 arg1 arg2 arg3 arg4 arg5 arg6 arg7 arg8" & @CRLF & _
"" & @CRLF & _
" multispace______________arg0 arg1 arg2 arg3 arg4 " & @CRLF & _
"" & @CRLF & _
"" & @CRLF & _
" pbm0 pbm1 pbm2 " & @CRLF & _
""pbm0 pbm0" pbm1 " & @CRLF & _
""pbm0 pbm0" pbm1 " & @CRLF & _
"" & @CRLF & _
" C:\ProgramData\Anaconda3\python.exe C:\ProgramData\Anaconda3\cwp.py C:\ProgramData\Anaconda3 C:\ProgramData\Anaconda3\python.exe C:\ProgramData\Anaconda3\Scripts\jupyter-notebook-script.py "%USERPROFILE%/" " & @CRLF & _
"" & @CRLF & _
" (?(?=\2)(?(?=($|^))true|false)|false) . " & @CRLF & _
"" & @CRLF & _
"" & @CRLF & _
"" & @CRLF & _
"" & @CRLF & _
"(?:(?(?!\3|\\).|(?=\\)..))*" & @CRLF & _
"" & @CRLF & _
"((?!\s|$)(?(?!\\).|..))*)"
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