#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?m)\bBYPASS(?: \d){3}\n *<VST "VST: (?!FreeG\b)[\s\S]*?\n *>(?:\n(?! *<).*)*\n *WAK \d \d\b"
Local $sString = "<REAPER_PROJECT 0.1 "6.66/win64" 1661967203" & @CRLF & _
" <NOTES 0 2" & @CRLF & _
" >" & @CRLF & _
" RIPPLE 0" & @CRLF & _
" GROUPOVERRIDE 0 0 0" & @CRLF & _
" AUTOXFADE 1" & @CRLF & _
" ENVATTACH 3" & @CRLF & _
" POOLEDENVATTACH 0" & @CRLF & _
" MIXERUIFLAGS 11 48" & @CRLF & _
" PEAKGAIN 1" & @CRLF & _
" FEEDBACK 0" & @CRLF & _
" PANLAW 1" & @CRLF & _
" PROJOFFS 0 0 0" & @CRLF & _
" MAXPROJLEN 0 600" & @CRLF & _
" GRID 3199 8 1 8 1 0 0 0" & @CRLF & _
" TIMEMODE 1 5 -1 30 0 0 -1" & @CRLF & _
" VIDEO_CONFIG 0 0 256" & @CRLF & _
" PANMODE 3" & @CRLF & _
" CURSOR 0" & @CRLF & _
" ZOOM 41.11416036604871 0 0" & @CRLF & _
" VZOOMEX 6 0" & @CRLF & _
" USE_REC_CFG 0" & @CRLF & _
" RECMODE 1" & @CRLF & _
" SMPTESYNC 0 30 100 40 1000 300 0 0 1 0 0" & @CRLF & _
" LOOP 0" & @CRLF & _
" LOOPGRAN 0 4" & @CRLF & _
" RECORD_PATH "" """ & @CRLF & _
" <RECORD_CFG" & @CRLF & _
" ZXZhdxgAAA==" & @CRLF & _
" >" & @CRLF & _
" <APPLYFX_CFG" & @CRLF & _
" >" & @CRLF & _
" RENDER_FILE """ & @CRLF & _
" RENDER_PATTERN """ & @CRLF & _
" RENDER_FMT 0 2 0" & @CRLF & _
" RENDER_1X 0" & @CRLF & _
" RENDER_RANGE 1 0 0 18 1000" & @CRLF & _
" RENDER_RESAMPLE 3 0 1" & @CRLF & _
" RENDER_ADDTOPROJ 0" & @CRLF & _
" RENDER_STEMS 0" & @CRLF & _
" RENDER_DITHER 0" & @CRLF & _
" TIMELOCKMODE 1" & @CRLF & _
" TEMPOENVLOCKMODE 1" & @CRLF & _
" ITEMMIX 1" & @CRLF & _
" DEFPITCHMODE 589824 0" & @CRLF & _
" TAKELANE 1" & @CRLF & _
" SAMPLERATE 44100 0 0" & @CRLF & _
" <RENDER_CFG" & @CRLF & _
" ZXZhdxgAAA==" & @CRLF & _
" >" & @CRLF & _
" LOCK 1" & @CRLF & _
" <METRONOME 6 2" & @CRLF & _
" VOL 0.25 0.125" & @CRLF & _
" FREQ 800 1600 1" & @CRLF & _
" BEATLEN 4" & @CRLF & _
" SAMPLES "" """ & @CRLF & _
" PATTERN 2863311530 2863311529" & @CRLF & _
" MULT 1" & @CRLF & _
" >" & @CRLF & _
" GLOBAL_AUTO -1" & @CRLF & _
" TEMPO 120 4 4" & @CRLF & _
" PLAYRATE 1 0 0.25 4" & @CRLF & _
" SELECTION 0 0" & @CRLF & _
" SELECTION2 0 0" & @CRLF & _
" MASTERAUTOMODE 0" & @CRLF & _
" MASTERTRACKHEIGHT 0 0" & @CRLF & _
" MASTERPEAKCOL 16576" & @CRLF & _
" MASTERMUTESOLO 0" & @CRLF & _
" MASTERTRACKVIEW 0 0.6667 0.5 0.5 -1 -1 -1 0 0 0 -1 -1 0" & @CRLF & _
" MASTERHWOUT 0 0 1 0 0 0 0 -1" & @CRLF & _
" MASTER_NCH 2 2" & @CRLF & _
" MASTER_VOLUME 1 0 -1 -1 1" & @CRLF & _
" MASTER_PANMODE 3" & @CRLF & _
" MASTER_FX 1" & @CRLF & _
" MASTER_SEL 0" & @CRLF & _
" <MASTERPLAYSPEEDENV" & @CRLF & _
" EGUID {07BFCFC9-6DA0-4D9C-8821-7D1555F3F3F8}" & @CRLF & _
" ACT 0 -1" & @CRLF & _
" VIS 0 1 1" & @CRLF & _
" LANEHEIGHT 0 0" & @CRLF & _
" ARM 0" & @CRLF & _
" DEFSHAPE 0 -1 -1" & @CRLF & _
" >" & @CRLF & _
" <TEMPOENVEX" & @CRLF & _
" EGUID {9059CD91-68BB-42A7-8E08-BCDDCB3AC50B}" & @CRLF & _
" ACT 0 -1" & @CRLF & _
" VIS 1 0 1" & @CRLF & _
" LANEHEIGHT 0 0" & @CRLF & _
" ARM 0" & @CRLF & _
" DEFSHAPE 1 -1 -1" & @CRLF & _
" >" & @CRLF & _
" <PROJBAY" & @CRLF & _
" >" & @CRLF & _
" <TRACK {6186BBDC-D455-4398-90C0-668CF17125E9}" & @CRLF & _
" NAME DAC" & @CRLF & _
" PEAKCOL 16576" & @CRLF & _
" BEAT -1" & @CRLF & _
" AUTOMODE 0" & @CRLF & _
" VOLPAN 1 0 -1 -1 1" & @CRLF & _
" MUTESOLO 0 0 0" & @CRLF & _
" IPHASE 0" & @CRLF & _
" PLAYOFFS 0 1" & @CRLF & _
" ISBUS 0 0" & @CRLF & _
" BUSCOMP 0 0 0 0 0" & @CRLF & _
" SHOWINMIX 1 0.6667 0.5 1 0.5 -1 -1 -1" & @CRLF & _
" SEL 1" & @CRLF & _
" REC 0 0 1 0 0 0 0 0" & @CRLF & _
" VU 2" & @CRLF & _
" TRACKHEIGHT 0 0 0 0 0 0" & @CRLF & _
" INQ 0 0 0 0.5 100 0 0 100" & @CRLF & _
" NCHAN 2" & @CRLF & _
" FX 1" & @CRLF & _
" TRACKID {6186BBDC-D455-4398-90C0-668CF17125E9}" & @CRLF & _
" PERF 0" & @CRLF & _
" MIDIOUT -1" & @CRLF & _
" MAINSEND 1 0" & @CRLF & _
" <FXCHAIN" & @CRLF & _
" WNDRECT 500 247 511 642" & @CRLF & _
" SHOW 0" & @CRLF & _
" LASTSEL 1" & @CRLF & _
" DOCKED 0" & @CRLF & _
" BYPASS 0 0 0" & @CRLF & _
" <VST "VST: Saturation Knob (Softube)" "Saturation Knob.dll" 0 "" 1935766638<5653547361746E73617475726174696F> """ & @CRLF & _
" bnRhc+9e7f4CAAAAAQAAAAAAAAACAAAAAAAAAAIAAAABAAAAAAAAAAIAAAAAAAAAEAAAAAAAAAAAABAA" & @CRLF & _
" 776t3g3wrd5mZmY+AAAAPw==" & @CRLF & _
" RGVmYXVsdABEZWZhdWx0ABAAAAA=" & @CRLF & _
" >" & @CRLF & _
" PRESETNAME Default" & @CRLF & _
" FLOATPOS 0 0 0 0" & @CRLF & _
" FXID {A9ED49E2-2CFE-4675-A539-CFA091920D52}" & @CRLF & _
" WAK 0 0" & @CRLF & _
" BYPASS 0 0 0" & @CRLF & _
" <VST "VST: FreeG (Sonalksis)" "Sonalksis FreeG Stereo (64 bit).dll" 0 "" 1181894483<56535446724753667265656700000000> """ & @CRLF & _
" U0dyRu5e7f4CAAAAAQAAAAAAAAACAAAAAAAAAAIAAAABAAAAAAAAAAIAAAAAAAAAPAAAAAEAAAAAABAA" & @CRLF & _
" V0oxPgAAAD8AAAAAAAAAAAAAAAAAAAA/AAAAAAAAAAAAAAAAAgAAAAIAAAAAAAAAAAAAAAAAAAAAAAAA" & @CRLF & _
" AE5vbmUAEAAAAA==" & @CRLF & _
" >" & @CRLF & _
" PRESETNAME None" & @CRLF & _
" FLOATPOS 0 0 0 0" & @CRLF & _
" FXID {36381E0B-FD44-4B23-BA25-E9CC29920FFB}" & @CRLF & _
" WAK 0 0" & @CRLF & _
" >" & @CRLF & _
" <ITEM" & @CRLF & _
" POSITION 0" & @CRLF & _
" SNAPOFFS 0" & @CRLF & _
" LENGTH 14.22222222222222" & @CRLF & _
" LOOP 1" & @CRLF & _
" ALLTAKES 0" & @CRLF & _
" FADEIN 1 0.01 0 1 0 0 0" & @CRLF & _
" FADEOUT 1 0.01 0 1 0 0 0" & @CRLF & _
" MUTE 0 0" & @CRLF & _
" SEL 1" & @CRLF & _
" IGUID {8FA4C4EF-ACED-4A1E-B4E0-AAAF41D8BCA4}" & @CRLF & _
" IID 1" & @CRLF & _
" NAME dac.wav" & @CRLF & _
" VOLPAN 1 0 1 -1" & @CRLF & _
" SOFFS 0" & @CRLF & _
" PLAYRATE 1 1 0 -1 0 0.0025" & @CRLF & _
" CHANMODE 0" & @CRLF & _
" GUID {FD68F37C-6841-45B5-803E-83BB63FA6E98}" & @CRLF & _
" <SOURCE WAVE" & @CRLF & _
" FILE "dac.wav"" & @CRLF & _
" >" & @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