예제 #1
0
        protected override void Execute(CodeActivityContext executionContext)
        {
            var invalid = false;
            var match   = false;
            var pattern = Pattern.Get <string>(executionContext);
            var text    = Text.Get <string>(executionContext);
            var format  = Format.Get <string>(executionContext);

            try
            {
                var regex = new Regex(pattern);
                match = regex.IsMatch(text);
                if (match)
                {
                    text = regex.Replace(text, format);
                }
            }
            catch (ArgumentException)
            {
                // Syntax error in the regular expression
                invalid = true;
            }

            InvalidRegularExpression.Set(executionContext, invalid);
            MatchFound.Set(executionContext, match);
            Result.Set(executionContext, text);
        }
        protected override void Execute(CodeActivityContext executionContext)
        {
            var invalid     = false;
            var match       = false;
            var pattern     = Pattern.Get <string>(executionContext);
            var text        = Text.Get <string>(executionContext);
            var index       = Index.Get <int>(executionContext);
            var matchResult = string.Empty;

            try
            {
                var result = new StringBuilder();
                var regex  = new Regex(pattern);

                var results = regex.Match(text);
                var pos     = 1;

                match = results.Success;

                while (results.Success)
                {
                    if (pos == index)
                    {
                        result.Append(results.Value);
                        break;
                    }

                    if (pos == -1 && index >= 1)
                    {
                        result.Append(results);
                    }

                    results = results.NextMatch();
                    pos++;
                }

                if (result.Length > 0)
                {
                    matchResult = result.ToString();
                }
            }
            catch (ArgumentException)
            {
                invalid = true;
                // Syntax error in the regular expression
            }

            InvalidRegularExpression.Set(executionContext, invalid);
            MatchFound.Set(executionContext, match);
            Match.Set(executionContext, matchResult);
        }
예제 #3
0
        protected override void Execute(CodeActivityContext executionContext)
        {
            var invalid     = false;
            var pattern     = Pattern.Get <string>(executionContext);
            var replacement = Replacement.Get <string>(executionContext);
            var text        = Text.Get <string>(executionContext);
            var result      = text;

            try
            {
                var regex = new Regex(pattern);
                result = regex.Replace(text, replacement);
            }
            catch (ArgumentException)
            {
                invalid = true;
                // Syntax error in the regular expression
            }

            InvalidRegularExpression.Set(executionContext, invalid);
            Result.Set(executionContext, result);
        }
예제 #4
0
        protected override void Execute(CodeActivityContext executionContext)
        {
            var invalid = false;
            var match   = false;
            var pattern = Pattern.Get <string>(executionContext);
            var text    = Text.Get <string>(executionContext);

            try
            {
                var regex  = new Regex(pattern);
                var result = regex.Match(text);
                match = result.Success;
            }
            catch (ArgumentException)
            {
                invalid = true;
                // Syntax error in the regular expression
            }

            InvalidRegularExpression.Set(executionContext, invalid);
            MatchFound.Set(executionContext, match);
        }