'The parameters pattern and flags are passed to the re.compile() function as-is. See the Python re module for an explanation of the acceptable patterns and flags.'

def __init__(self, pattern, flags=0):

    super(Regex, self).__init__()
    if (len(pattern) == 0):
        warnings.warn('null    string    passed    to    Regex;    use    Empty()    instead', SyntaxWarning, stacklevel=2)
    self.pattern = pattern
    self.flags = flags
    try:
        self.re = re.compile(self.pattern, self.flags)
        self.reString = self.pattern
    except sre_constants.error as e:
        warnings.warn(('invalid    pattern    (%s)    passed    to    Regex' % pattern), SyntaxWarning, stacklevel=2)
        raise
    self.name = _ustr(self)
    self.errmsg = ('Expected    ' + self.name)
    self.mayIndexError = False
    self.mayReturnEmpty = True
