#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(\${1,2})[^]*?[^\\]\1|[^\$]+"
Local $sString = "some text outside $ \$2+\$ $ which includes $\$$" & @CRLF & _
"Now some $${}$$ $\{\}$inline mathjax $2+2$" & @CRLF & _
"And in new lines" & @CRLF & _
"$$" & @CRLF & _
"2+2" & @CRLF & _
"$$" & @CRLF & _
"$" & @CRLF & _
"2+2\\" & @CRLF & _
"3+3\\" & @CRLF & _
" 4+4\\" & @CRLF & _
"$" & @CRLF & _
"more inline $2+2\$ \$2+2$ $2+2$, $3+4$" & @CRLF & _
"separated $2+2$ by some text $ 2+2 $ again" & @CRLF & _
"double newlines" & @CRLF & _
"$2+2$" & @CRLF & _
"$2+2$" & @CRLF & _
"Dollar again $ \$42 $" & @CRLF & _
"$$ \$42 $$" & @CRLF & _
"$$" & @CRLF & _
" \frac{4}{2}+" & @CRLF & _
" \frac{4}{2}" & @CRLF & _
"$$" & @CRLF & _
"" & @CRLF & _
"And some more tests:" & @CRLF & _
"\> a) $\dr{1}{2}+\left(\dr23-\dr34\right)$<<<" & @CRLF & _
" \> b) $\dr{1}{5}+\left(\dr23-\dr12\right)$<<<" & @CRLF & _
" \> c) $\dr{1}{2}+\left(\dr{3}{4}-\dr32\right)$<<<" & @CRLF & _
" \> d) $\left(\dr{3}{10}-\dr{5}{2}\right)+\dr7{20}$<<<" & @CRLF & _
" \> e) $\dr{2}{3}+\left(\dr{3}{2}-\dr14\right)$<<<" & @CRLF & _
" \> f) $\left(\dr{14}{5}-\dr7{10}\right)+\dr{11}{10}$.<<<" & @CRLF & _
"" & @CRLF & _
"$$" & @CRLF & _
" a^{\rr mn}=\sq[n]{a^m}." & @CRLF & _
"$$" & @CRLF & _
"" & @CRLF & _
"$$" & @CRLF & _
"\begin{align}" & @CRLF & _
"&a^x\cdot a^y=a^{x+y}\\" & @CRLF & _
"&\dr{a^x}{a^y}=a^{x-y}\\" & @CRLF & _
"&(a^x)^y=a^{xy}\\" & @CRLF & _
"&(ab)^x=a^xb^x\\" & @CRLF & _
"&\left(\dr ab\right)^x=\dr{a^x}{b^x}." & @CRLF & _
"\end{align}" & @CRLF & _
"$$" & @CRLF & _
"" & @CRLF & _
"$$" & @CRLF & _
" \sq[4]{5\sq5}=(5\sq5)^{\rr14}=(5\.5^{\rr12})^{\rr14}=" & @CRLF & _
" (5^{1+\rr12})^{\rr14}=(5^{\rr32})^{\rr14}=5^{\rr38}." & @CRLF & _
" $$" & @CRLF & _
"" & @CRLF & _
"Hope that's it." & @CRLF & _
"" & @CRLF & _
"" & @CRLF & _
""
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