RegexExtension.cs 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using UnityEngine;
  5. public static class RegexExtension
  6. {
  7. public static string ToOrPattern(this List<string> patterns)
  8. {
  9. StringBuilder stringBuilder = new StringBuilder();
  10. stringBuilder.Append("(");
  11. for (int i = 0; i < patterns.Count; i++)
  12. {
  13. stringBuilder.Append(patterns[i]);
  14. if (i < patterns.Count - 1)
  15. {
  16. stringBuilder.Append("|");
  17. }
  18. }
  19. stringBuilder.Append(")");
  20. return stringBuilder.ToString();
  21. }
  22. public static string GetTransferedPattern(this string pattern)
  23. {
  24. pattern = pattern.Replace("(", "\\(");
  25. pattern = pattern.Replace(")", "\\)");
  26. pattern = pattern.Replace("^", "\\^");
  27. pattern = pattern.Replace("+", "\\+");
  28. pattern = pattern.Replace("*", "\\*");
  29. pattern = pattern.Replace(".", "\\.");
  30. pattern = pattern.Replace("[", "\\[");
  31. pattern = pattern.Replace("]", "\\]");
  32. pattern = pattern.Replace("{", "\\{");
  33. pattern = pattern.Replace("}", "\\}");
  34. return pattern;
  35. }
  36. }