private int GetInterval(int iActual, out List <char> interval) { interval = new List <char>(); string temp = RegexFuzzy.Substring(iActual + 1, RegexFuzzy.IndexOf(']', iActual) - iActual); for (int i = 0; i < temp.Length; i++) { if (i > 0 && temp[i] == '-') { interval.AddRange(GetInterval(temp[i - 1], temp[i + 1])); i++; } else if (temp[i] != '[' && temp[i] != ']') { interval.Add(temp[i]); } } interval = interval.Distinct().ToList(); return(RegexFuzzy.IndexOf(']', iActual)); }
private int GetLoop(ref int start, ref int end, int iActual) { string temp = RegexFuzzy.Substring(iActual, RegexFuzzy.IndexOf('}', iActual) - iActual); string[] res = temp.Split(','); start = Convert.ToInt32(Utils.GetNumbers(res[0])); temp = Utils.GetNumbers(res[1]); if (string.IsNullOrWhiteSpace(temp)) { end = 0; } else { end = Convert.ToInt32(temp); } return(RegexFuzzy.IndexOf('}', iActual)); }