public void CanMatchLeadingCharactersByTokenRegex() { var end = new TokenRegex(@"$"); var letters = new TokenRegex(@"[a-z]+"); var digits = new TokenRegex(@"[0-9]+"); var alphanumerics = new TokenRegex(@"[a-z0-9]+"); var empty = new InputText(""); empty.Match(letters).ShouldFail(); empty.Match(end).ShouldSucceed(""); var abc123 = new TextTestFixture("abc123"); abc123.Advance(0).Match(digits).ShouldFail(); abc123.Advance(0).Match(letters).ShouldSucceed("abc"); abc123.Advance(0).Match(alphanumerics).ShouldSucceed("abc123"); abc123.Advance(2).Match(digits).ShouldFail(); abc123.Advance(2).Match(letters).ShouldSucceed("c"); abc123.Advance(2).Match(alphanumerics).ShouldSucceed("c123"); abc123.Advance(3).Match(digits).ShouldSucceed("123"); abc123.Advance(3).Match(letters).ShouldFail(); abc123.Advance(3).Match(alphanumerics).ShouldSucceed("123"); abc123.Advance(6).Match(digits).ShouldFail(); abc123.Advance(6).Match(letters).ShouldFail(); abc123.Advance(6).Match(alphanumerics).ShouldFail(); }
public Match NextToken() { var match = TokenRegex.Match(Text, Index); Index = match.Index + match.Length; return(match); }
public void CanMatchRegexStartingFromGivenCharacterPosition() { var regex = new TokenRegex(@"[a-z]+"); regex.Match("123abc0", 0).Success.ShouldBeFalse(); regex.Match("123abc0", 3).Success.ShouldBeTrue(); regex.Match("123abc0", 3).Value.ShouldBe("abc"); regex.Match("123abc0", 4).Success.ShouldBeTrue(); regex.Match("123abc0", 4).Value.ShouldBe("bc"); }
public void SupportsOptionalRegexOptions() { var regex = new TokenRegex(@"[a-z]+", RegexOptions.IgnoreCase); regex.Match("123aBc0", 0).Success.ShouldBeFalse(); regex.Match("123aBc0", 3).Success.ShouldBeTrue(); regex.Match("123aBc0", 3).Value.ShouldBe("aBc"); regex.Match("123aBc0", 4).Success.ShouldBeTrue(); regex.Match("123aBc0", 4).Value.ShouldBe("Bc"); }
public void CanMatchMultilineAndCommentedRegexes() { var regex = new TokenRegex( @" [a-z]+ # Just Lower | [A-Z]+ # Just Upper | [0-9]+ # Just Digit"); regex.Match("123Abc", 1).Value.ShouldBe("23"); regex.Match("$23ab!", 0).Success.ShouldBeFalse(); regex.Match("$23ab!", 1).Value.ShouldBe("23"); regex.Match("$23ab!", 3).Value.ShouldBe("ab"); }
private void FormatTokens() { StringBuilder result = new StringBuilder(""); foreach (string token in TokenRegex.Split(textBoxAccessTokens.Text)) { if (!string.IsNullOrWhiteSpace(token)) { result.AppendLine(token.Trim()); } } textBoxAccessTokens.Text = result.ToString().Trim(); }
protected Match GetMatch(TextBuffer textBuffer) { Match match = TokenRegex.Match(textBuffer.Remainder); if (match.Success) { textBuffer.MoveForward(match.Value.Length); return(match); } else { return(null); } }
public virtual void Parse(string code) { var match = TokenRegex.Match(code); if (!match.Success) { //Console.WriteLine($"|{TokenRegex}| ({code})"); //TODO logging return; } Value = match.Value; Groups = match.Groups.Cast <Group>().ToList(); ValueType = "string"; }
internal void HandleException(ApiSession rpSession, Exception rException) { try { using (var rStreamWriter = new StreamWriter(Logger.GetNewExceptionLogFilename(), false, new UTF8Encoding(true))) { rStreamWriter.WriteLine(TokenRegex.Replace(rpSession.FullUrl, "***************************")); rStreamWriter.WriteLine("Request Data:"); rStreamWriter.WriteLine(TokenRegex.Replace(rpSession.RequestBodyString, "***************************")); rStreamWriter.WriteLine(); rStreamWriter.WriteLine("Exception:"); rStreamWriter.WriteLine(rException.ToString()); rStreamWriter.WriteLine(); rStreamWriter.WriteLine("Response Data:"); rStreamWriter.WriteLine(Regex.Unescape(rpSession.ResponseBodyString)); } } catch { } }
public void CanMatchLeadingCharactersByTokenRegex() { var end = new TokenRegex(@"$"); var letters = new TokenRegex(@"[a-z]+"); var digits = new TokenRegex(@"[0-9]+"); var alphanumerics = new TokenRegex(@"[a-z0-9]+"); using (var empty = new LinedTextTestFixture("")) { empty.ReadLine().ShouldBeFalse(); empty.Match(letters).ShouldFail(); empty.Match(end).ShouldFail(); // the behavior is different with respect to Text } using (var abc123 = new LinedTextTestFixture("abc123")) { abc123.ReadLine().ShouldBeTrue(); abc123.Match(digits).ShouldFail(); abc123.Match(letters).ShouldSucceed("abc"); abc123.Match(alphanumerics).ShouldSucceed("abc123"); abc123.Advance(2); abc123.Match(digits).ShouldFail(); abc123.Match(letters).ShouldSucceed("c"); abc123.Match(alphanumerics).ShouldSucceed("c123"); abc123.Advance(1); abc123.Match(digits).ShouldSucceed("123"); abc123.Match(letters).ShouldFail(); abc123.Match(alphanumerics).ShouldSucceed("123"); abc123.Advance(3); abc123.Match(digits).ShouldFail(); abc123.Match(letters).ShouldFail(); abc123.Match(alphanumerics).ShouldFail(); } }
public MatchResult Match(TokenRegex regex) { return(_text.Match(regex)); }
public void CanMatchLeadingCharactersByTokenRegex() { var end = new TokenRegex(@"$"); var letters = new TokenRegex(@"[a-z]+"); var digits = new TokenRegex(@"[0-9]+"); var alphanumerics = new TokenRegex(@"[a-z0-9]+"); var empty = new Text(""); empty.Match(letters).ShouldFail(); empty.Match(end).ShouldSucceed(""); var abc123 = new Text("abc123"); abc123.Match(digits).ShouldFail(); abc123.Match(letters).ShouldSucceed("abc"); abc123.Match(alphanumerics).ShouldSucceed("abc123"); abc123.Advance(2).Match(digits).ShouldFail(); abc123.Advance(2).Match(letters).ShouldSucceed("c"); abc123.Advance(2).Match(alphanumerics).ShouldSucceed("c123"); abc123.Advance(3).Match(digits).ShouldSucceed("123"); abc123.Advance(3).Match(letters).ShouldFail(); abc123.Advance(3).Match(alphanumerics).ShouldSucceed("123"); abc123.Advance(6).Match(digits).ShouldFail(); abc123.Advance(6).Match(letters).ShouldFail(); abc123.Advance(6).Match(alphanumerics).ShouldFail(); }