#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?m)(?<!foo.{0,1000})bar(?!.*foo)"
Local $sString = "bar //true" & @CRLF & _
",bar, //true" & @CRLF & _
",,bar,, //true" & @CRLF & _
"barbar //true" & @CRLF & _
",bar,bar, //true" & @CRLF & _
",,bar,,bar,, //true" & @CRLF & _
"barbarbar //true" & @CRLF & _
",bar,bar,bar, //true" & @CRLF & _
",,bar,,bar,,bar,, //true" & @CRLF & _
"" & @CRLF & _
"foo //false" & @CRLF & _
",foo, //false" & @CRLF & _
",,foo,, //false" & @CRLF & _
"foobar //false" & @CRLF & _
",foo,bar, //false" & @CRLF & _
",,foo,,bar,, //false" & @CRLF & _
"barfoo //false" & @CRLF & _
",bar,foo, //false" & @CRLF & _
",,bar,,foo,, //false" & @CRLF & _
"foofoo //false" & @CRLF & _
",foo,foo, //false" & @CRLF & _
",,foo,,foo,, //false" & @CRLF & _
"foobarbar //false" & @CRLF & _
",foo,bar,bar, //false" & @CRLF & _
",,foo,,bar,,bar,, //false" & @CRLF & _
"barfoobar //false" & @CRLF & _
",bar,foo,bar, //false" & @CRLF & _
",,bar,,foo,,bar,, //false" & @CRLF & _
"barbarfoo //false" & @CRLF & _
",bar,bar,foo, //false" & @CRLF & _
",,bar,,bar,,foo,, //false" & @CRLF & _
"barfoofoo //false" & @CRLF & _
",bar,foo,foo, //false" & @CRLF & _
",,bar,,foo,,foo,, //false" & @CRLF & _
"foobarfoo //false" & @CRLF & _
",foo,bar,foo, //false" & @CRLF & _
",,foo,,bar,,foo,, //false" & @CRLF & _
"foofoobar //false" & @CRLF & _
",foo,foo,bar, //false" & @CRLF & _
",,foo,,foo,,bar,, //false" & @CRLF & _
"foofoofoo //false" & @CRLF & _
",foo,foo,foo, //false" & @CRLF & _
",,foo,,foo,,foo,, //false"
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