#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?m)not \(?\s*1 of \s*([\w\*]*)\s*\)?|not \(?\s*all of \s*([\w\*]*)\s*\)?|not \s*([^\d\(][^\(\s]*)|not \(\s*([^\d]+.*)\s?\)"
Local $sString = "( passwordchanged and not passwordchanged_filter ) | near samrpipe" & @CRLF & _
"( selection_cammute and not filter_cammute ) or ( selection_chrome_frame and not filter_chrome_frame ) or ( selection_devemu and not filter_devemu ) or ( selection_gadget and not filter_gadget ) or ( selection_hcc and not filter_hcc ) or ( selection_hkcmd and not filter_hkcmd ) or ( selection_mc and not filter_mc ) or ( selection_msmpeng and not filter_msmpeng ) or ( selection_msseces and not filter_msseces ) or ( selection_oinfo and not filter_oinfo ) or ( selection_oleview and not filter_oleview ) or ( selection_rc and not filter_rc )" & @CRLF & _
"(exec_selection and not exec_exclusion) or (create_selection and create_keywords)" & @CRLF & _
"(selection1 and not filter1) or selection2 or selection3 or selection4" & @CRLF & _
"all of selection and not (1 of exclusion_*)" & @CRLF & _
"keywords and not 1 of filters" & @CRLF & _
"methregistry or ( methprocess and not filterprocess )" & @CRLF & _
"selection and not ( filter1 or filter2 )" & @CRLF & _
"selection and not ( filter1 or filter2 or filter3 )" & @CRLF & _
"selection and not (ini or intel)" & @CRLF & _
"selection and not 1 of falsepositive*" & @CRLF & _
"selection and not (1 of falsepositive*)" & @CRLF & _
"selection and not exclusion" & @CRLF & _
"selection and not falsepositive" & @CRLF & _
"selection and not falsepositives" & @CRLF & _
"selection and not filter" & @CRLF & _
"selection and not reduction" & @CRLF & _
"selection1 and not selection2" & @CRLF & _
"selection1 or ( selection2 and not filter2 )" & @CRLF & _
"selection_registry and not exclusion_images" & @CRLF & _
"selector | near dllload1 and dllload2 and not exclusion" & @CRLF & _
"selection and not (filter1)" & @CRLF & _
"selection and not all of falsepositive*" & @CRLF & _
"selection and not (all of falsepositive*)" & @CRLF & _
"selection and selection2" & @CRLF & _
"selection or (selection2 and selection3)" & @CRLF & _
"selection or 1 of selection*"
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