#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(\$[^\n$]*[^\s$])(-|=|\+)([^\s$][^\n$]*\$)"
Local $sString = "\end{theorem}" & @CRLF & _
"" & @CRLF & _
" A $k$-periodic sequence has the property that $s_i = s_{i + k}$ for all $i = 0,1,\dots$." & @CRLF & _
" Thus a $k$-periodic sequence $(s_i)_{i = 0}^\infty$ may be represented by any finite sequence $(s_i)_{i=a}^{a+k - 1}$, where $a$ is usually chosen to be $0$." & @CRLF & _
" " & @CRLF & _
" Sadly our Fibonacci sequence examples are not defined over a finite field but over the naturals and thus are not necessarily periodic." & @CRLF & _
" Examples such as these may be interpreted to have a period of $\infty$. " & @CRLF & _
" " & @CRLF & _
" The period and related stability of linear recurrence sequences in regard to linear complexity has a very rich and broadly studied background~\cite{DingZiaoShan1991}." & @CRLF & _
" " & @CRLF & _
" \begin{theorem}" & @CRLF & _
" \label{th: max period is m-sequence}" & @CRLF & _
" \cite[Theorem~6.33]{LidlNiederreiter1994}" & @CRLF & _
" A linear recurrence sequence $s$ over a finite field $\gf_2$ with linear complexity $n$ has a maximum possible period of $2^n-1$." & @CRLF & _
" \end{theorem}" & @CRLF & _
" " & @CRLF & _
" \begin{definition}" & @CRLF & _
" \label{de: m-sequence}" & @CRLF & _
" A sequence which has maximum period for giv"
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