public void MatchRegex_Ctor_WithRegex_StoreRegex() { Regex regex = new Regex(@"\b[M]\w+"); MatchRegex matchRegex = new MatchRegex(regex); Assert.AreEqual(regex, matchRegex.ExpectedRegex); }
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); }
public bool Matches(string consolidatedUrl) { if (!HasParameters) { return(_consolidatedUrlString.EqualsVirtualPath(consolidatedUrl)); } return(MatchRegex.IsMatch(consolidatedUrl)); }
private bool IsPatternMatch(string usingStatementName) { if (MatchRegex.IsMatch(usingStatementName)) { return(true); } else { return(false); } }
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()); }