package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?m).*(idMatches):\n(?s)(.+?)(Close: )(?s)(.+?)$`)
var str = `<ENG6_6701>
idMatches:
Close: ENG6_6701
<ENG6_7211>
idMatches:
Close: ENG6_7211
<ENG6_4474>
idMatches:
04\B\_3\IFM_2017.30_App.CrashMonitor.CrashMonitor:11098: <testcase name="SysRS_3104_row 1" type="1" id="11177" foreign_id="0" testdata_id="1073741963" state_mask="0x1100" testcase_number="8" child_count="1" description="ENG6_4474" specification="" comment="" uuid="c0a39548-d902-4a76-b986-3f0c49e7f8b1" testitem_state_mask="0x80" usercode_state_mask="0x00" last_modified="1587729309934" last_synchronized="0">
04\B\_3\IFM_2017.30_App.CrashMonitor.CrashMonitor.tmb:11098: <testcase name="SysRS_3104_row 1" type="1" id="11177" foreign_id="0" testdata_id="1073741963" state_mask="0x1100" testcase_number="8" child_count="1" description="ENG6_4474" specification="" comment="" uuid="c0a39548-d902-4a76-b986-3f0c49e7f8b1" testitem_state_mask="0x80" usercode_state_mask="0x00" last_modified="1587729309934" last_synchronized="0">
04\G\0\IFM_2017.30_App.CrashMonitor.CrashMonitor.CrashMonitor_Main.script:645: ENG6_4474
06\05\EE\IFM_2017.30_App.CrashMonitor.CrashMonitor:10507: <testcase name="SysRS_3104_row 1" type="1" id="4573" foreign_id="0" testdata_id="1073741963" state_mask="0x5B00" testcase_number="37" child_count="1" description="ENG6_4474" specification="" comment="" uuid="c0a39548-d902-4a76-b986-3f0c49e7f8b1" testitem_state_mask="0x80" usercode_state_mask="0x00" last_modified="1587560383700" last_synchronized="0">
06\10\00\Crasmonitor\IFM_2017.30_App.CrashMonitor.CrashMonitor.CrashMonitor_Main.script:220: ENG6_4474
Close: ENG6_4474
<ENG6_4475>
NOTE: it was needed to change the first \n for a \r`
var substitution = "\t<\1>\n\t\t\2\t</\1>\n</\4>\n"
fmt.Println(re.ReplaceAllString(str, substitution))
}
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 Golang, please visit: https://golang.org/pkg/regexp/