using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"---\n[\s\S]+?(?=\n---|$)";
string input = @"---
event: outgoing HTTP response
timestamp: 2021-10-06T08:15:28.212Z
remoteAddress: ""1.2.3.4""
hostname: a.b.c.domain.com
statusCode: 200
headers:
content-length: 524
etc: ...
body: ""blabla (can be multiline and can contain anything)""
---
event: outgoing HTTP response
timestamp: 2021-10-06T08:15:28.212Z
remoteAddress: ""1.2.3.4""
hostname: a.b.c.different.com
statusCode: 200
headers:
content-length: 524
etc: ...
body: ""blabla (can be multiline and can contain anything)""
---
event: outgoing HTTP response
timestamp: 2021-10-06T08:15:28.212Z
remoteAddress: ""1.2.3.4""
hostname: 1.2.3.domain.com
statusCode: 200
headers:
content-length: 524
etc: ...
body: ""blabla (can be multiline and can contain anything)""";
foreach (Match m in Regex.Matches(input, pattern))
{
Console.WriteLine("'{0}' found at index {1}.", m.Value, m.Index);
}
}
}
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