using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @".*(idMatches):\n(?s)(.+?)(Close: )(?s)(.+?)$";
string substitution = @"\t<\1>\n\t\t\2\t</\1>\n</\4>\n";
string input = @"<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";
RegexOptions options = RegexOptions.Multiline;
Regex regex = new Regex(pattern, options);
string result = regex.Replace(input, 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 C#, please visit: https://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex(v=vs.110).aspx