Здесь мы, скорее всего, начнем с простого выражения, которое ограничено >>>
и <<<
, может быть, что-то похожее на:
>>>(.+)\s*(.+)\s*<<<.+
, которое мы получаем желаемыми данными в этих двух снимкахgroups:
(.+)
, и мы запишем остальную часть нашей проблемы.
Тест
using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @">>>(.+)\s*(.+)\s*<<<.+";
string input = @">>>tagA
contents 1
<<<tagA
>>>tagB
contents 2
<<<tagB
>>>tagC
contents 2
<<<tagC
";
RegexOptions options = RegexOptions.Multiline;
foreach (Match m in Regex.Matches(input, pattern, options))
{
Console.WriteLine("'{0}' found at index {1}.", m.Value, m.Index);
}
}
}
Схема RegEx
jex.im визуализирует регулярные выражения:
![enter image description here](https://i.stack.imgur.com/zHsBi.png)