#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?s)^project\(\n\s+[^\n]+\n\s+version:\s+'([^']+)',\n"
Local $sString = "project(" & @CRLF & _
" 'waybar', 'cpp', 'c'," & @CRLF & _
" version: '0.9.20'," & @CRLF & _
" license: 'MIT'," & @CRLF & _
" meson_version: '>= 0.50.0'," & @CRLF & _
" default_options : [" & @CRLF & _
" 'cpp_std=c++20'," & @CRLF & _
" 'buildtype=release'," & @CRLF & _
" 'default_library=static'" & @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