def test_reluctantly(self): regex = RegExpBuilder() regex.exactly(2).of("p") regex.min(2).ofAny().reluctantly() regex.exactly(2).of("p") regex = regex.getRegExp() self.assertTrue(regex.match("pprrrrpprrpp").group() == "pprrrrpp")
def test_asGroup(self): regex = RegExpBuilder() regex.min(1).max(3).of("p") regex.exactly(1).of("dart").asGroup() regex.exactly(1).fromClass(["p", "q", "r"]) regex = regex.getRegExp() self.assertTrue(regex.match("pdartq").group(1) == "dart")
def test_min(self): regex = RegExpBuilder() regex.startOfLine() regex.min(2).of("p") regex.endOfLine() regex = regex.getRegExp() self.assertTrue(regex.match("pp") is not None) self.assertTrue(regex.match("ppp") is not None) self.assertTrue(regex.match("ppppppp") is not None) self.assertTrue(regex.match("p") is None)
def test_min_max(self): regex = RegExpBuilder() regex.start_of_line() regex.min(3).max(7).of("p") regex.end_of_line() regex = regex.get_regexp() self.assertTrue(regex.match("ppp") is not None) self.assertTrue(regex.match("ppppp") is not None) self.assertTrue(regex.match("ppppppp") is not None) self.assertTrue(regex.match("pp") is None) self.assertTrue(regex.match("p") is None) self.assertTrue(regex.match("pppppppp") is None) self.assertTrue(regex.match("pppppppppppp") is None)