def test_orString(self): regex = RegExpBuilder() regex.either(["p", "q"]) regex = regex.get_regexp() self.assertTrue(regex.match("p") is not None) self.assertTrue(regex.match("q") is not None) self.assertTrue(regex.match("r") is None)
def test_orLike_chain(self): p1 = RegExpBuilder().exactly(1).of("p") p2 = RegExpBuilder().exactly(1).of("q") p3 = RegExpBuilder().exactly(1).of("r") regex = RegExpBuilder() regex.either([p1, p2, p3]) regex = regex.get_regexp() self.assertTrue(regex.match("p") is not None) self.assertTrue(regex.match("q") is not None) self.assertTrue(regex.match("r") is not None) self.assertTrue(regex.match("s") is None)
def test_eitherLike_orLike(self): p1 = RegExpBuilder().exactly(1).of("p") p2 = RegExpBuilder().exactly(2).of("q") regex = RegExpBuilder() regex.start_of_line() regex.either([p1, p2]) regex.end_of_line() regex = regex.get_regexp() self.assertTrue(regex.match("p") is not None) self.assertTrue(regex.match("qq") is not None) self.assertTrue(regex.match("pqq") is None) self.assertTrue(regex.match("qqp") is None)