Package Martel :: Module msre_parse
[hide private]
[frames] | no frames]

Module msre_parse

source code

Classes [hide private]
  Pattern
  SubPattern
  Tokenizer
Functions [hide private]
 
is_firstchar(char) source code
 
is_char(char) source code
 
isname(name) source code
 
isname_with_attrs(name) source code
 
_group(escape, groups) source code
 
_class_escape(source, escape) source code
 
_escape(source, escape, state) source code
 
_parse_sub(source, state, nested=1) source code
 
_parse(source, state) source code
 
parse(str, flags=0, pattern=None) source code
 
parse_template(source, pattern) source code
 
expand_template(template, match) source code
Variables [hide private]
  SPECIAL_CHARS = ".\\[{()*+?^$|"
  REPEAT_CHARS = "*+?{"
  DIGITS = tuple("0123456789")
  OCTDIGITS = tuple("01234567")
  HEXDIGITS = tuple("0123456789abcdefABCDEF")
  WHITESPACE = tuple(" \t\n\r\v\f")
  ESCAPES = {r"\a":(LITERAL, ord("\a")), r"\b":(LITERAL, ord("\b...
  CATEGORIES = {r"\A":(AT, AT_BEGINNING_STRING), r"\b":(AT, AT_B...
  FLAGS = {"i": SRE_FLAG_IGNORECASE, "L": SRE_FLAG_LOCALE, "m": ...
  atoi = string.atoi
  _name_with_attr_pattern = re.compile(r...
Variables Details [hide private]

ESCAPES

Value:
{r"\a":(LITERAL, ord("\a")), r"\b":(LITERAL, ord("\b")), r"\f":(LITERA\
L, ord("\f")), r"\n":(LITERAL, ord("\n")), r"\r":(LITERAL, ord("\r")),\
 r"\R":(IN, [(CATEGORY, CATEGORY_NEWLINE)]), r"\t":(LITERAL, ord("\t")\
), r"\v":(LITERAL, ord("\v")), r"\\":(LITERAL, ord("\\"))}

CATEGORIES

Value:
{r"\A":(AT, AT_BEGINNING_STRING), r"\b":(AT, AT_BOUNDARY), r"\B":(AT, \
AT_NON_BOUNDARY), r"\d":(IN, [(CATEGORY, CATEGORY_DIGIT)]), r"\D":(IN,\
 [(CATEGORY, CATEGORY_NOT_DIGIT)]), r"\R":(NEWLINE, None), r"\s":(IN, \
[(CATEGORY, CATEGORY_SPACE)]), r"\S":(IN, [(CATEGORY, CATEGORY_NOT_SPA\
CE)]), r"\w":(IN, [(CATEGORY, CATEGORY_WORD)]), r"\W":(IN, [(CATEGORY,\
 CATEGORY_NOT_WORD)]), r"\Z":(AT, AT_END_STRING),}

FLAGS

Value:
{"i": SRE_FLAG_IGNORECASE, "L": SRE_FLAG_LOCALE, "m": SRE_FLAG_MULTILI\
NE, "s": SRE_FLAG_DOTALL, "x": SRE_FLAG_VERBOSE, "t": SRE_FLAG_TEMPLAT\
E, "u": SRE_FLAG_UNICODE,}

_name_with_attr_pattern

Value:
re.compile(r"""
[a-zA-Z_:]        # first character of the tag
[-a-zA-Z0-9._:]*  # rest of the tag
(\?                                      # optional attrs flagged with\
 '?'
 (
  ([-a-zA-Z0-9._]|(%[0-9A-Fa-f]{2}))+    # name can contain % escapes
  =                                      # '=' flags value
...