#include <MsgBoxConstants.au3> ; to declare the Constants of MsgBox
Local $sRegex = "(?m)^(?!(?:\s*$|.*(?:Niveau|stime)))(.*$)([\s\S]*?)(\1\s*)"
Local $sString = "vide vide Time: stime 3:30 PM vide vide " & @CRLF & _
"NN NN NP stime LS NP NN NN " & @CRLF & _
" ----------Niveau 1-------------- " & @CRLF & _
"Time: | 0 | 263.0 | 266.0 | 0,0113 " & @CRLF & _
"NP | 0 | 0.0 | 24885.0 | 1 " & @CRLF & _
"3:30 | -0 | 104.0 | 120.0 | 0,1333 " & @CRLF & _
"LS | -0 | 0.0 | 13134.0 | 1 " & @CRLF & _
"PM | -1 | 134.0 | 238.0 | 0,437 " & @CRLF & _
"NP | -1 | 0.0 | 24885.0 | 1 " & @CRLF & _
" ----------Niveau 2-------------- " & @CRLF & _
"3:30 PM | -0 | 30.0 | 41.0 | 0,2683 " & @CRLF & _
"3:30 NP | -0 | 133.0 | 55.0 | -1,4182 " & @CRLF & _
"LS PM | -0 | 42.0 | 237.0 | 0,8228 " & @CRLF & _
"LS NP | -0 | 0.0 | 2456.0 | 1 " & @CRLF & _
" ----------Niveau 3-------------- " & @CRLF & _
"" & @CRLF & _
"" & @CRLF & _
"vide vide Time: stime 3:30 pm vide vide " & @CRLF & _
"NN NN NP stime LS NN NN NN " & @CRLF & _
" ----------Niveau 1-------------- " & @CRLF & _
"Time: | 0 | 263.0 | 266.0 | 0,0113 " & @CRLF & _
"NP | 0 | 0.0 | 24885.0 | 1 " & @CRLF & _
"3:30 | -0 | 104.0 | 120.0 | 0,1333 " & @CRLF & _
"LS | -0 | 0.0 | 13134.0 | 1 " & @CRLF & _
"pm | -1 | 38.0 | 54.0 | 0,2963 " & @CRLF & _
"NN | -1 | 0.0 | 59511.0 | 1 " & @CRLF & _
" ----------Niveau 2-------------- " & @CRLF & _
"3:30 pm | -0 | 9.0 | 9.0 | 0 " & @CRLF & _
"3:30 NN | -0 | 36.0 | 24.0 | -0,5 " & @CRLF & _
"LS pm | -0 | 22.0 | 52.0 | 0,5769 " & @CRLF & _
"LS NN | -0 | 0.0 | 2658.0 | 1 " & @CRLF & _
" ----------Niveau 3-------------- "
Local $sSubst = "\1\2"
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