示例#1
0
        public void Test_IsMatch_27()
        {
            var pattern = new RegExpPattern()
                          .AnyCharacter("ae");

            pattern.IsMatch("gray").Should().BeTrue();

            pattern.IsMatch("guy").Should().BeFalse();
        }
示例#2
0
        public void Test_IsMatch_28()
        {
            var pattern = new RegExpPattern()
                          .AnyCharacterOtherThan("aei");

            pattern.IsMatch("reign").Should().BeTrue();

            pattern.IsMatch("aei").Should().BeFalse();
        }
示例#3
0
        public void Test_IsMatch_26()
        {
            var pattern = new RegExpPattern()
                          .Character('❎');

            pattern.IsMatch("❎").Should().BeTrue();

            pattern.IsMatch("Q").Should().BeFalse();
        }
示例#4
0
        public void Test_IsMatch_7()
        {
            var pattern = new RegExpPattern()
                          .AnyNonWordCharacter();

            pattern.IsMatch(".").Should().BeTrue();
            pattern.IsMatch(" ").Should().BeTrue();

            pattern.IsMatch("a").Should().BeFalse();
            pattern.IsMatch("1").Should().BeFalse();
        }
示例#5
0
        public void Test_IsMatch_8()
        {
            var pattern = new RegExpPattern()
                          .AnyOneDigit();

            pattern.IsMatch("1").Should().BeTrue();

            pattern.IsMatch("a").Should().BeFalse();
            pattern.IsMatch(".").Should().BeFalse();
            pattern.IsMatch(" ").Should().BeFalse();
        }
示例#6
0
        public void Test_IsMatch_23()
        {
            var pattern = new RegExpPattern()
                          .OnlyIfBehindIsNot(p => p.Text("c"), p => p.Text("a"));

            pattern.IsMatch("a").Should().BeTrue();
            pattern.IsMatch("ab").Should().BeTrue();

            pattern.IsMatch("b").Should().BeFalse();
            pattern.IsMatch("ca").Should().BeFalse();
            pattern.IsMatch("cab").Should().BeFalse();
        }
示例#7
0
        public void Test_IsMatch_5()
        {
            var pattern = new RegExpPattern()
                          .ZeroOrOneOf(false, false, p => p.Text("a"))
                          .Text("b");

            pattern.IsMatch("b").Should().BeTrue();
            pattern.IsMatch("ab").Should().BeTrue();
            pattern.IsMatch("aab").Should().BeTrue();
            pattern.IsMatch("abb").Should().BeTrue();

            pattern.IsMatch("a").Should().BeFalse();
        }
示例#8
0
        public void Test_IsMatch_10()
        {
            var pattern = new RegExpPattern()
                          .ConditionalRule(
                c => c.AnyWordCharacter().Text("i").AnyWordCharacter(),
                t => t.Text("him"),
                f => f.Text("her"));

            pattern.IsMatch("him").Should().BeTrue();
            pattern.IsMatch("her").Should().BeTrue();

            pattern.IsMatch("they").Should().BeFalse();
            pattern.IsMatch("them").Should().BeFalse();
        }
示例#9
0
        public void Test_IsMatch_9()
        {
            var pattern = new RegExpPattern()
                          .Either(
                false,
                s1 => s1.Text("him"),
                s2 => s2.Text("her"));

            pattern.IsMatch("him").Should().BeTrue();
            pattern.IsMatch("her").Should().BeTrue();

            pattern.IsMatch("they").Should().BeFalse();
            pattern.IsMatch("them").Should().BeFalse();
        }
示例#10
0
        public void Test_IsMatch_13()
        {
            var pattern = new RegExpPattern()
                          .WithWordBoundary(
                p => p
                .Text("are")
                .ZeroOrMoreOf(
                    false, false,
                    p2 => p2.AnyWordCharacter()));

            pattern.IsMatch("area").Should().BeTrue();
            pattern.IsMatch("arena").Should().BeTrue();

            pattern.IsMatch("bare").Should().BeFalse();
            pattern.IsMatch("mare").Should().BeFalse();
        }
示例#11
0
        public void Test_IsMatch_16()
        {
            var pattern = new RegExpPattern()
                          .WithNonWordBoundary(
                true, false,
                p => p
                .Text("qu")
                .OneOrMoreOf(false, false,
                             p2 => p2.AnyWordCharacter()));

            pattern.IsMatch("equity").Should().BeTrue();
            pattern.IsMatch("equip").Should().BeTrue();
            pattern.IsMatch("acquaint").Should().BeTrue();

            pattern.IsMatch("queen").Should().BeFalse();
            pattern.IsMatch("quiet").Should().BeFalse();
        }
示例#12
0
        public void Test_IsMatch_1()
        {
            var pattern = new RegExpPattern()
                          .Text("dog");

            pattern.IsMatch("The quick brown fox jumps over the lazy dog")
            .Should()
            .BeTrue();
        }
示例#13
0
        public void Test_IsMatch_18()
        {
            var pattern = new RegExpPattern()
                          .CharacterRange('A', 'Z', "NJ");

            pattern.IsMatch("A").Should().BeTrue();
            pattern.IsMatch("B").Should().BeTrue();
            pattern.IsMatch("Z").Should().BeTrue();
            pattern.IsMatch("AA").Should().BeTrue();

            pattern.IsMatch("").Should().BeFalse();
            pattern.IsMatch("a").Should().BeFalse();
            pattern.IsMatch("N").Should().BeFalse();
            pattern.IsMatch("J").Should().BeFalse();
            pattern.IsMatch("z").Should().BeFalse();
        }
示例#14
0
        public void Test_IsMatch_12()
        {
            var pattern = new RegExpPattern()
                          .Text("hi")
                          .AtEndOfStringOnly();

            pattern.IsMatch("hi").Should().BeTrue();
            pattern.IsMatch(" hi").Should().BeTrue();

            pattern.IsMatch("hi ").Should().BeFalse();
            pattern.IsMatch("him").Should().BeFalse();
            pattern.IsMatch(" him").Should().BeFalse();
            pattern.IsMatch(" him ").Should().BeFalse();
        }
示例#15
0
        public void Test_IsMatch_11()
        {
            var pattern = new RegExpPattern()
                          .AtStartOfStringOrLine()
                          .Text("hi");

            pattern.IsMatch("hi").Should().BeTrue();
            pattern.IsMatch("him").Should().BeTrue();
            pattern.IsMatch("hi ").Should().BeTrue();
            pattern.IsMatch("him ").Should().BeTrue();

            pattern.IsMatch(" hi").Should().BeFalse();
            pattern.IsMatch(" him").Should().BeFalse();
        }