#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?mi)construit dans les ann[eé]es (\d{2,4})"
Local $sString = "[DATE DE CONSTRCUTION]" & @CRLF & _
"" & @CRLF & _
"R1 = date de constuction \W (\d{4}[-/]\d{4}|((\w{3,12})\s)?\d{4}|(\d{1,2}(\s?er)?)? \w{3,10} \d{4}|\d{2}/\d{2}/\d{2,4}|[ST]\d{1,4} \d{4}|((fin|d[ée]but)\s)?[1234](er|[eè]mes?) (semestre|trimestre)|courant \w{3,10}(\s\d{4})?|\w{3,10}/\w{3,10} \d{4}|((fin|d[ée]but)\s)?(semestre|trimestre) \d{1,4} \d{4})" & @CRLF & _
"" & @CRLF & _
"date de constuction : 2000-2001" & @CRLF & _
"date de constuction : 1999/2000" & @CRLF & _
"date de constuction : 01/01/2020 " & @CRLF & _
"date de constuction : 01/01/03 " & @CRLF & _
"date de constuction : 1er janvier 2020" & @CRLF & _
"date de constuction : 1 er janvier 2020" & @CRLF & _
"date de constuction : 31 décembre 1997" & @CRLF & _
"date de constuction : juin 2020" & @CRLF & _
"date de constuction : Juillet/Juillet 2021" & @CRLF & _
"date de constuction : courant Juin" & @CRLF & _
"date de constuction : courant Juin 2003" & @CRLF & _
"date de constuction : été 2021" & @CRLF & _
"date de constuction : semestre 2 2028" & @CRLF & _
"date de constuction : début semestre 2 2028" & @CRLF & _
"date de constuction : S1 2024" & @CRLF & _
"date de constuction : T3 2020" & @CRLF & _
"date de constuction : 2ème semestre" & @CRLF & _
"date de constuction : 1er semestre" & @CRLF & _
"date de constuction : fin 2ème semestre" & @CRLF & _
"date de constuction : début 2020" & @CRLF & _
"date de constuction : fin 2022)" & @CRLF & _
"" & @CRLF & _
"[CONSTRUIT EN]" & @CRLF & _
"" & @CRLF & _
"R2 = construite?(\s\w{2,4})? (\d{4}[-/]\d{4}|((\w{3,12})\s)?\d{4}|(\d{1,2}(\s?er)?)? \w{3,10} \d{4}|\d{2}/\d{2}/\d{2,4}|[ST]\d{1,4} \d{4}|((fin|d[ée]but)\s)?[1234](er|[eè]mes?) (semestre|trimestre)|courant \w{3,10}(\s\d{4})?|\w{3,10}/\w{3,10} \d{4}|((fin|d[ée]but)\s)?(semestre|trimestre) \d{1,4} \d{4})" & @CRLF & _
"" & @CRLF & _
"construit en 1996" & @CRLF & _
"construit en 2006" & @CRLF & _
"construit en 2000-2001" & @CRLF & _
"construit en 1999/2000" & @CRLF & _
"construit le 01/01/2020 " & @CRLF & _
"construit le 1er janvier 2020" & @CRLF & _
"construit en Juin 2020 " & @CRLF & _
"construit en Juillet/Juillet 2021" & @CRLF & _
"construit courant Juin" & @CRLF & _
"construit à l'été 2021" & @CRLF & _
"construit au Semestre 2 2028, " & @CRLF & _
"construit au S1 2024" & @CRLF & _
"construit au T3 2020" & @CRLF & _
"construit au 2ème semestre" & @CRLF & _
"construit fin 2ème semestre" & @CRLF & _
"construit début 2020" & @CRLF & _
"construit fin 2022" & @CRLF & _
"" & @CRLF & _
"R3 = construit dans les ann[eé]es (\d{2,4})" & @CRLF & _
"construit dans les années 90 " & @CRLF & _
"construit dans les années 2000" & @CRLF & _
"" & @CRLF & _
"construit au siècle dernier ??"
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