- using System; 
- using System.Collections.Generic; 
- using System.IO; 
- using System.Linq; 
- using System.Text.RegularExpressions; 
-   
- public class Test 
- { 
- 	public static void Main() 
- 	{ 
- 		var tststr = @"Hi I am normal text <strong>but bold</strong> and normal again"; 
- 		var lst = new List<string>(); 
- 		var former_idx = 0; 
- 		for (var m = Regex.Match(tststr, @"(?s)\s*<(\w+)\b[^>]*>.*?</\1>\s*"); m.Success; m = m.NextMatch()) 
- 		{ 
- 		    lst.Add(tststr.Substring(former_idx, m.Index - former_idx)); 
- 		    lst.Add(m.Value); 
- 		    former_idx = m.Index + m.Value.Length; 
- 		} 
- 		if (former_idx < tststr.Length) 
- 		    lst.Add(tststr.Substring(former_idx, tststr.Length - former_idx)); 
-         Console.WriteLine(string.Join("\n", lst)); 
- 	} 
- } 
				dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLklPOwp1c2luZyBTeXN0ZW0uTGlucTsKdXNpbmcgU3lzdGVtLlRleHQuUmVndWxhckV4cHJlc3Npb25zOwoKcHVibGljIGNsYXNzIFRlc3QKewoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewoJCXZhciB0c3RzdHIgPSBAIkhpIEkgYW0gbm9ybWFsIHRleHQgPHN0cm9uZz5idXQgYm9sZDwvc3Ryb25nPiBhbmQgbm9ybWFsIGFnYWluIjsKCQl2YXIgbHN0ID0gbmV3IExpc3Q8c3RyaW5nPigpOwoJCXZhciBmb3JtZXJfaWR4ID0gMDsKCQlmb3IgKHZhciBtID0gUmVnZXguTWF0Y2godHN0c3RyLCBAIig/cylccyo8KFx3KylcYltePl0qPi4qPzwvXDE+XHMqIik7IG0uU3VjY2VzczsgbSA9IG0uTmV4dE1hdGNoKCkpCgkJewoJCSAgICBsc3QuQWRkKHRzdHN0ci5TdWJzdHJpbmcoZm9ybWVyX2lkeCwgbS5JbmRleCAtIGZvcm1lcl9pZHgpKTsKCQkgICAgbHN0LkFkZChtLlZhbHVlKTsKCQkgICAgZm9ybWVyX2lkeCA9IG0uSW5kZXggKyBtLlZhbHVlLkxlbmd0aDsKCQl9CgkJaWYgKGZvcm1lcl9pZHggPCB0c3RzdHIuTGVuZ3RoKQoJCSAgICBsc3QuQWRkKHRzdHN0ci5TdWJzdHJpbmcoZm9ybWVyX2lkeCwgdHN0c3RyLkxlbmd0aCAtIGZvcm1lcl9pZHgpKTsKICAgICAgICBDb25zb2xlLldyaXRlTGluZShzdHJpbmcuSm9pbigiXG4iLCBsc3QpKTsKCX0KfQ==