fork download
  1. using System;
  2. using System.Text;
  3. using System.Text.RegularExpressions;
  4.  
  5. public class Test
  6. {
  7. public static void Main()
  8. {
  9. StringBuilder sb = new StringBuilder();
  10. sb.AppendLine("using System;");
  11. sb.AppendLine();
  12. sb.AppendLine("namespace Foo.Bar");
  13. sb.AppendLine("{");
  14. sb.AppendLine("\tpublic class Baz");
  15. sb.AppendLine("\t{");
  16. sb.AppendLine("\t\tpublic static void Main()");
  17. sb.AppendLine("\t\t{");
  18. sb.AppendLine("\t\t\tString[] a = new[]{\"foo\",\"bar\",\"baz\",\"class\",\"foreach\"};");
  19. sb.AppendLine("\t\t\tforeach (var b in a) Console.WriteLine(b);");
  20. sb.AppendLine("\t\t\txforeachx (var b in a) Console.WriteLine(b);");
  21. sb.AppendLine("\t\t}");
  22. sb.AppendLine("\t}");
  23. sb.AppendLine("}");
  24.  
  25. Console.Write(sb.ToString());
  26. Console.WriteLine();
  27.  
  28. String[] keywords = new String[]{
  29. "using", "namespace", "for", "if", "else", "foreach", "public", "static", "class"
  30. };
  31. String code = sb.ToString();
  32. foreach (String keyword in keywords){
  33. String pattern = @"(?<=^|[\s\.\(])(" + Regex.Escape(keyword) + @")(?=[\s\.\)])";
  34. String replacement = "<span class='keyword'>$1</span>";
  35. code = Regex.Replace(code, pattern, replacement);
  36. }
  37. Console.WriteLine(code);
  38. }
  39. }
Success #stdin #stdout 0.07s 37472KB
stdin
Standard input is empty
stdout
using System;

namespace Foo.Bar
{
	public class Baz
	{
		public static void Main()
		{
			String[] a = new[]{"foo","bar","baz","class","foreach"};
			foreach (var b in a) Console.WriteLine(b);
			xforeachx (var b in a) Console.WriteLine(b);
		}
	}
}

<span class='keyword'>using</span> System;

<span class='keyword'>namespace</span> Foo.Bar
{
	<span class='keyword'>public</span> <span class='keyword'>class</span> Baz
	{
		<span class='keyword'>public</span> <span class='keyword'>static</span> void Main()
		{
			String[] a = new[]{"foo","bar","baz","class","foreach"};
			<span class='keyword'>foreach</span> (var b in a) Console.WriteLine(b);
			xforeachx (var b in a) Console.WriteLine(b);
		}
	}
}