#include <MsgBoxConstants.au3> ; to declare the Constants of MsgBox
Local $sRegex = "(?mi)(?<![=|\|]) *(?:\{\{)*(\d+)(?:(?:\{\{)*(er)(?:\}\})*)* *(janvier|f[ée]vrier|mars|avril|mai|juin|juillet|a[ôo][ûu]t|septembre|octobre|novembre|d[ée]cembre) *(\d{3,4})"
Local $sString = " 1er mars 2020" & @CRLF & _
" {{1er}} mars 2020" & @CRLF & _
" 1{{er}} mars 2020" & @CRLF & _
" 1 mars 2020" & @CRLF & _
" 20 mars 2020" & @CRLF & _
"I don't want these ones:" & @CRLF & _
"date= 20 Mars 2025" & @CRLF & _
"date=20 Mars 2025" & @CRLF & _
"{{date|20 aout 2020}}" & @CRLF & _
"{{date| 20 aout 2020}}"
Local $sSubst = "{{date|$1$2 $3 $4}}"
Local $sResult = StringRegExpReplace($sString, $sRegex, $sSubst)
MsgBox($MB_SYSTEMMODAL, "Result", $sResult)
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