#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?m)^I await your input\.(?=\d|\-)|^(?:I await your input\.(?:x|\/|\*|\+|\.))|^0+(?=0|0.|[1-9])|(?<=\.\d+)\.$|^(?:x|\/|\*|\+|\.)|(?<=(?:x|\/|\*|\-|\+))0(?=\d+)|(?<=\.)\-$|(?<=^\-)(?:x|\*|\/|\-|\+|\.)|(?<=\.\d+)(x|\*|\/|\-|\+)?\."
Local $sString = "|(?<=(?:x|\/|\*|\-|\+|\.))(?:x|\/|\*|\+|\.)" & @CRLF & _
"/When ready, just start over from the original working regex." & @CRLF & _
"|(?<=\d+)(x|\*|\/|\-|\+)(?=x|\*|\/|\-|\+)" & @CRLF & _
"|(?<=x|\*|\/|\-|\+|\.)\." & @CRLF & _
"|\.(?=x|\*|\/|\-|\+|\.)|(?<=\d+\.\d+(?:x|\*|\/|\-|\+))\.|(?<=\d+\.\d+)\." & @CRLF & _
"Seems like I don't need this one: |\-(?=-)" & @CRLF & _
"40.0." & @CRLF & _
"5.6+." & @CRLF & _
"7.3." & @CRLF & _
"2222-" & @CRLF & _
"2222--" & @CRLF & _
"2222.-" & @CRLF & _
"0.00002/" & @CRLF & _
"111.222*x" & @CRLF & _
"3838.3" & @CRLF & _
"0.0000x." & @CRLF & _
"1+2.333.x" & @CRLF & _
"-/1" & @CRLF & _
"-/1/-" & @CRLF & _
"1.1/+" & @CRLF & _
"0.2/*" & @CRLF & _
"333/x" & @CRLF & _
"4444/-" & @CRLF & _
"888-" & @CRLF & _
"0x/" & @CRLF & _
"0..+" & @CRLF & _
"0xx" & @CRLF & _
"3x." & @CRLF & _
"3.xx" & @CRLF & _
"0.1." & @CRLF & _
"++++++++++++++++++++++++++++++++++" & @CRLF & _
"(?<=\d+(?:x|\/|\*|\-|\+|\.))(?:x|\/|\*|\-|\+|\.)" & @CRLF & _
"(?<=\.\d+(?:x|\/|\*|\-|\+|\.))(?:x|\/|\*|\-|\+|\.)" & @CRLF & _
"(?<=\d+(?:x|\/|\*|\-|\+|\.))(?:x|\/|\*|\-|\+|\.)" & @CRLF & _
"(?<=\d+)(?:x|\/|\*|\-|\+|\.)(?=x|\/|\*|\-|\+|\.) // This selects any math symbol directly after a math symbol such as 111.222*x (x will be selected)" & @CRLF & _
"?:non-capturing group" & @CRLF & _
"I await your input.4" & @CRLF & _
"I await your input.+" & @CRLF & _
"abcdefghijklmnopqrstuvwxyz" & @CRLF & _
"...." & @CRLF & _
"0000000" & @CRLF & _
"000000033300" & @CRLF & _
"00003304" & @CRLF & _
"0000004" & @CRLF & _
"000000." & @CRLF & _
"2.5+88889.4756x8.8/0.125+04.5" & @CRLF & _
"2.5+88889.4756x8.8/0.125+0.45" & @CRLF & _
"2.5+88889.4756x8.8/0.125+0" & @CRLF & _
"2.4+2.00003" & @CRLF & _
"2.4+04" & @CRLF & _
"0x9-95.8/00" & @CRLF & _
"/*" & @CRLF & _
"+-+" & @CRLF & _
"000000004" & @CRLF & _
"6.6.4444.4.4.5555.588885.5." & @CRLF & _
"6.6.4444.4.4.5555.55.5343." & @CRLF & _
"4+5" & @CRLF & _
"88889993.4884." & @CRLF & _
"4." & @CRLF & _
"8888.8.4" & @CRLF & _
"8.8.4.8" & @CRLF & _
"4.56850.000000.0.100.324000+8.343.333.4400000.00000" & @CRLF & _
"0.13453.383883...+388338.383838+3.4/833.3x8*4333-8-+++**3*3/*3" & @CRLF & _
"0000.1" & @CRLF & _
"+" & @CRLF & _
"-" & @CRLF & _
"." & @CRLF & _
"*" & @CRLF & _
"/" & @CRLF & _
"x0000000" & @CRLF & _
"000000004" & @CRLF & _
"0.1334343." & @CRLF & _
"0123456789" & @CRLF & _
"000001234" & @CRLF & _
"0000." & @CRLF & _
"_+-*/|\/*" & @CRLF & _
"@#!#$" & @CRLF & _
"^*()" & @CRLF & _
".000" & @CRLF & _
"copied and saved regex:" & @CRLF & _
"|(?<=.[\d+])\." & @CRLF & _
"_______________________________" & @CRLF & _
"(?<=\d|\d)\.$" & @CRLF & _
"// sort of works: \.\d+\.$(?!\d+\.) it takes of the .allnumbesanddecimal from here" & @CRLF & _
"(?<=\.)\d+\.$" & @CRLF & _
"(?<=\.\d+)\.$" & @CRLF & _
"(\.\d+)$" & @CRLF & _
"(?<=[\d]\.[\d])\." & @CRLF & _
"Negate these: " & @CRLF & _
"[^0\.1]"
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