You would use something like this:
using System.Text.RegularExpressions;
private string ExtractString(string sourceString)
{
// (?<=string) is positive look-behind where you search for string before the match.
// .* is all characters in between.
// (?=string) is positive look-ahead where you search for string after the match.
string pattern = "(?<=<a.*?>).*(?=</a)";
Match match = Regex.Match(sourceString, pattern);
return match.Value;
}
Of course, you should be implementing some kind of exception handling mechanism.
Note that this will return
<b>{Dynamic Value 2}</b>
if parsing
<a href="{Dynamic Value}"><b>{Dynamic Value 2}</b></a>
You can process the string further with other regex patterns if needed.