fork(1) download
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text.RegularExpressions;
  4. using System.Linq;
  5. public class Test
  6. {
  7. public static void Main()
  8. {
  9. var str = "<backspace>это буу<backspace>дка<backspace><backspace>ет тек<backspace>стовыыф<backspace><backspace>й ткаукц<backspace><backspace><backspace><backspace><backspace>екст";
  10. var str2 = "Это<backspace><backspace><backspace><backspace><backspace><backspace>";
  11. var str3 = "a<backspace><backspace><backspace>b";
  12. Console.WriteLine("'{0}'", Rx.backspaceRx.Replace(str, string.Empty).Replace("<backspace>", ""));
  13. Console.WriteLine("'{0}'", Rx.backspaceRx.Replace(str2, string.Empty).Replace("<backspace>", ""));
  14. Console.WriteLine("'{0}'", Rx.backspaceRx.Replace(str3, string.Empty).Replace("<backspace>", ""));
  15. }
  16.  
  17. public static class Rx
  18. {
  19. public static readonly Regex backspaceRx = new Regex(
  20. "^(?:<backspace>)+|(?:<backspace>)+$|(?<t>(?<!<backspace).)+(?<-t><backspace>)+(?(t)(?!))",
  21. RegexOptions.Compiled | RegexOptions.Singleline);
  22. }
  23. }
  24.  
Success #stdin #stdout 0.03s 133824KB
stdin
Standard input is empty
stdout
'это будет тестовый текст'
''
'b'