internal string LTRReplace(Regex regex, string input, BaseMachine.MatchAppendEvaluator evaluator, int count, int startat, bool needs_groups_or_captures) { this.needs_groups_or_captures = needs_groups_or_captures; Match match = this.Scan(regex, input, startat, input.Length); if (!match.Success) { return(input); } StringBuilder stringBuilder = new StringBuilder(input.Length); int num = startat; int num2 = count; stringBuilder.Append(input, 0, num); while (count == -1 || num2-- > 0) { if (match.Index < num) { throw new SystemException("how"); } stringBuilder.Append(input, num, match.Index - num); evaluator(match, stringBuilder); num = match.Index + match.Length; match = match.NextMatch(); if (!match.Success) { IL_AA: stringBuilder.Append(input, num, input.Length - num); return(stringBuilder.ToString()); } } goto IL_AA; }
internal string LTRReplace(Regex regex, string input, BaseMachine.MatchAppendEvaluator evaluator, int count, int startat) { return(this.LTRReplace(regex, input, evaluator, count, startat, true)); }