private static string ReplaceWithRegExp(string thisob, RegExpObject regExpObject, object replacement)
        {
            RegExpReplace  replace   = (replacement is ScriptFunction) ? ((RegExpReplace) new ReplaceUsingFunction(regExpObject.regex, (ScriptFunction)replacement, thisob)) : ((RegExpReplace) new Microsoft.JScript.ReplaceWithString(Microsoft.JScript.Convert.ToString(replacement)));
            MatchEvaluator evaluator = new MatchEvaluator(replace.Evaluate);
            string         str       = regExpObject.globalInt ? regExpObject.regex.Replace(thisob, evaluator) : regExpObject.regex.Replace(thisob, evaluator, 1);

            regExpObject.lastIndexInt = (replace.lastMatch == null) ? 0 : regExpObject.regExpConst.UpdateConstructor(regExpObject.regex, replace.lastMatch, thisob);
            return(str);
        }
Пример #2
0
        private static String ReplaceWithRegExp(String thisob, RegExpObject regExpObject, Object replacement)
        {
            RegExpReplace replacer = replacement is ScriptFunction
          ? (RegExpReplace)(new ReplaceUsingFunction(regExpObject.regex, (ScriptFunction)replacement, thisob))
          : (RegExpReplace)(new ReplaceWithString(Convert.ToString(replacement)));
            MatchEvaluator matchEvaluator = new MatchEvaluator(replacer.Evaluate);
            String         newString      = regExpObject.globalInt
          ? regExpObject.regex.Replace(thisob, matchEvaluator)
          : regExpObject.regex.Replace(thisob, matchEvaluator, 1);

            regExpObject.lastIndexInt = replacer.lastMatch == null
          ? 0
          : regExpObject.regExpConst.UpdateConstructor(regExpObject.regex, replacer.lastMatch, thisob);
            return(newString);
        }