Esempio n. 1
0
 def ParseComplEsc(self):
     """Returns a CharClass, parsing the complement of a category escape."""
     if self.match("\\P{"):
         self.setpos(self.pos + 3)
         cClass = CharClass(self.ParseCharProp())
         if self.the_char == '}':
             self.next_char()
             cClass.negate()
             return cClass
     raise RegularExpressionError("Expected \\P{...} at [%i]" % self.pos)
Esempio n. 2
0
        m = self.p.match(target)
        if m is None or m.end(0) < len(target):
            # print "No match"
            return 0
        else:
            # print "match"
            return 1


class RegularExpressionError(Exception):
    pass


sClass = CharClass(u'\x09', u'\x0A', u'\x0D', u' ')
SClass = CharClass(sClass)
SClass.negate()
iClass = CharClass(LetterCharClass, u'_', u':')
IClass = CharClass(iClass)
IClass.negate()
CClass = CharClass(NameCharClass)
CClass.negate()
dClass = CharClass.ucd_category('Nd')
DClass = CharClass(dClass)
DClass.negate()
WClass = CharClass(CharClass.ucd_category(
    'P'), CharClass.ucd_category('Z'), CharClass.ucd_category('C'))
wClass = CharClass(WClass)
wClass.negate()


class RegularExpressionParser(BasicParser):