Use a positive look ahead and look behind assertion to match the angle brackets, use .*?
to match the shortest possible sequence of characters between those brackets. Find all values by iterating the MatchCollection
returned by the Matches()
method.
Regex regex = new Regex("(?<=<<).*?(?=>>)");
foreach (Match match in regex.Matches(
"this is a test for <<bob>> who like <<books>>"))
{
Console.WriteLine(match.Value);
}
LiveDemo in DotNetFiddle