public void MatchRegex_Ctor_WithRegex_StoreRegex()
        {
            Regex      regex      = new Regex(@"\b[M]\w+");
            MatchRegex matchRegex = new MatchRegex(regex);

            Assert.AreEqual(regex, matchRegex.ExpectedRegex);
        }
Exemple #2
0
 public virtual bool Suitable(string url)
 {
     if (MatchRegex == null)
     {
         throw new ExtractorException("Extractor has not defined Suitable() or specified a MatchRegex");
     }
     return(MatchRegex.IsMatch(url));
 }
        public void MatchRegex_AssertString_DoesNotMatchRegex_Error()
        {
            MatchRegex matchRegex = new MatchRegex(@"\b[M]\w+");

            var exception = Assert.Throws <Microsoft.VisualStudio.TestTools.UnitTesting.AssertFailedException>(() => matchRegex.Assert(_testFramework, "Brian", "Custom message"));

            Assert.AreEqual("StringAssert.Matches failed. String 'Brian' does not match pattern '\\b[M]\\w+'. Custom message does not match the regex.", exception.Message);
        }
Exemple #4
0
        public bool Matches(string consolidatedUrl)
        {
            if (!HasParameters)
            {
                return(_consolidatedUrlString.EqualsVirtualPath(consolidatedUrl));
            }

            return(MatchRegex.IsMatch(consolidatedUrl));
        }
Exemple #5
0
 private bool IsPatternMatch(string usingStatementName)
 {
     if (MatchRegex.IsMatch(usingStatementName))
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
Exemple #6
0
        public string Take(string input, out object value)
        {
            input = input.TrimStart();

            string inputRest = input;
            var    matches   = new List <Match>();

            for (;;)
            {
                if (matches.Count > 0)
                {
                    // match splitter (first)
                    Match splitterMatch = SplitterRegex.Match(inputRest);
                    if (!splitterMatch.Success || splitterMatch.Index != 0)
                    {
                        // we're done
                        if (matches.Count >= MinimumMatchCount)
                        {
                            value = matches;
                            return(inputRest);
                        }
                        else
                        {
                            value = null;
                            return(null);
                        }
                    }

                    inputRest = inputRest.Substring(splitterMatch.Length);
                }

                // match match
                Match match = MatchRegex.Match(inputRest);
                if (!match.Success || match.Index != 0)
                {
                    // we're done
                    if (matches.Count >= MinimumMatchCount)
                    {
                        value = matches;
                        return(inputRest);
                    }
                    else
                    {
                        value = null;
                        return(null);
                    }
                }

                matches.Add(match);
                inputRest = inputRest.Substring(match.Length);
            }
        }
    /// <summary>
    /// 指定された置換文字列が特殊置換にあてはまるなら、特殊置換のMatchEvaluatorを生成する
    /// </summary>
    /// <param name="replaceText">置換文字列</param>
    /// <returns>特殊置換、なければnull</returns>
    private MatchEvaluator?ConvertToEvaluator(string replaceText)
    {
        Match?matchResult = MatchRegex.Match(replaceText);

        if (matchResult?.Success != true || matchResult.Groups.Count <= 2)
        {
            return(null);
        }

        int groupIndex = int.Parse(matchResult.Groups[2].Value);

        return(this.EvaluatorCreator(groupIndex));
    }
        /// <inheritdoc />
        public override Task <string[]> ScanAsync(string path, CancellationToken cancellationToken)
        {
            var exitCode = _processRunner.RunTillCompletion(BackendPath, GetBackendArguments(path), cancellationToken,
                                                            out var standardOutput, out var standardError);

            if (ThrowOnNonZeroExitCode && exitCode != 0)
            {
                throw new ApplicationException($"Process has terminated with an exit code {exitCode}");
            }

            return(Task.FromResult(MatchRegex
                                   .Matches(ParseStdErr ? standardError : standardOutput)
                                   .Where(x => x.Success)
                                   .Select(x => x.Groups["threat"].Value)
                                   .ToArray()));
        }
        public void MatchRegex_AssertString_MatchesRegex_NoError()
        {
            MatchRegex matchRegex = new MatchRegex(@"\b[M]\w+");

            Assert.DoesNotThrow(() => matchRegex.Assert(_testFramework, "Mike", "Custom message"));
        }
        public void MatchRegex_Ctor_WithString_StoreRegex()
        {
            MatchRegex matchRegex = new MatchRegex(@"\b[M]\w+");

            Assert.AreEqual(@"\b[M]\w+", matchRegex.ExpectedRegex.ToString());
        }