Package Martel
[show private | hide private]
[frames | no frames]

Package Martel

Submodules

Function Summary
  Alt(*args)
exp1, exp2, ...
  Any(s)
(s) -> match any character in s
  AnyBut(s)
s -> match any character not in s
  Assert(expression)
  AssertNot(expression)
  Bol()
  Case(expr)
  DelimitedFields(name, sep, attrs)
match 0 or more fields seperated by the given seperator(s)
  Digits(name, attrs)
match one or more decimal digits
  Empty()
  Eof()
  Eol()
  Float(name, attrs)
match floating point numbers like 6, 6., -.1, 2.3, +4E-5, ...
  Group(name, expr, attrs)
name, expr -> use 'name' to describe a successful match of the expression
  Integer(name, attrs)
match an integer (digits w/ optional leading + or - sign)
  MaxRepeat(expr, min_count, max_count)
expr, min_count, max_count = 65535 -> match between min- and max_count times
  Opt(expr)
expr -> match 'expr' 1 or 0 times
  Punctuation(name, attrs)
match a punctuation character (characters in string.punctuation)
  Re(pattern, fix_newlines)
pattern -> the expression tree for the regexp pattern string
  Rep(expr)
expr -> match 'expr' as many times as possible, even 0 time
  Rep1(expr)
expr -> match 'expr' as many times as possible, but at least once
  replace_groups(expr, replacements)
  RepN(expr, count)
expr, count -> match the expression 'count' number of time
  select_names(expression, names)
  Seq(*args)
exp1, exp2, ...
  SimpleRecordFilter(expr, make_reader, reader_args)
  SkipLinesTo(expr)
read and ignore lines up to and including, the line matching expr
  SkipLinesUntil(expr)
read and ignore lines up to, but excluding, the line matching expr
  Spaces(name, attrs)
match one or more whitespace (except newline)
  Str(*args)
(s1, s2, ...) -> match s1 or s2 or ...
  Str1(s)
(s) -> match the literal string
  ToEol(name, attrs)
match everything up to and including the end of line
  ToSep(name, sep, attrs)
match all characters up to the given seperator(s)
  Unprintable(name, attrs)
match an unprintable character (characters not in string.printable)
  UntilEol(name, attrs)
match everything up to but not including the end of line
  UntilSep(name, sep, attrs)
match all characters up to the given seperators(s)
  Word(name, attrs)
match a 'word'
  _fix_newlines(s)
  _group(name, exp, attrs)

Function Details

Alt(*args)

exp1, exp2, ... -> match exp1 or (if that fails) match exp2 or ...

Any(s)

(s) -> match any character in s

AnyBut(s)

s -> match any character not in s

DelimitedFields(name=None, sep=None, attrs=None)

match 0 or more fields seperated by the given seperator(s)

This is useful for parsing space, tab, color, or other character delimited fields. There is no default seperator.

If 'name' is not None, the delimited text, excluding the seperator, will be put inside groups of the given name. You can optionally include group attributes. The seperator character is consumed, but not accessible using a group.

Neither "\r" nor "\n" may be used as a seperator. The line as a whole is not included in a group.

Digits(name=None, attrs=None)

match one or more decimal digits

This is the same as (?P<name?attrs>\d+).

If 'name' is not None, the matching text will be put inside a group of the given name. You can optionally include group attributes.

Float(name=None, attrs=None)

match floating point numbers like 6, 6., -.1, 2.3, +4E-5, ...

If 'name' is not None, the matching text will be put inside of a group of the given name. You can optionally include group attributes.

Group(name, expr, attrs=None)

name, expr -> use 'name' to describe a successful match of the expression

Integer(name=None, attrs=None)

match an integer (digits w/ optional leading + or - sign)

If 'name' is not None, the matching text will be put inside a group of the given name. You can optionally include group attributes.

MaxRepeat(expr, min_count, max_count=65535)

expr, min_count, max_count = 65535 -> match between min- and max_count times

If max_count == 65535 (which is Expression.MAXREPEAT) then there is no upper limit.

Opt(expr)

expr -> match 'expr' 1 or 0 times

Punctuation(name=None, attrs=None)

match a punctuation character (characters in string.punctuation)

If 'name' is not None, the matching text will be put inside of a group of the given name. You can optionally include group attributes.

Re(pattern, fix_newlines=0)

pattern -> the expression tree for the regexp pattern string

Rep(expr)

expr -> match 'expr' as many times as possible, even 0 time

Rep1(expr)

expr -> match 'expr' as many times as possible, but at least once

RepN(expr, count)

expr, count -> match the expression 'count' number of time

This option is handy for named group repeats since you don't have to use the name twice; for the min_count and max_count fields.

Seq(*args)

exp1, exp2, ... -> match exp1 followed by exp2 followed by ...

SkipLinesTo(expr)

read and ignore lines up to and including, the line matching expr

SkipLinesUntil(expr)

read and ignore lines up to, but excluding, the line matching expr

Spaces(name=None, attrs=None)

match one or more whitespace (except newline)

"Spaces" is defined as [\t\v\f\r ]+, which is *not* the same as '\s+'. (It's missing the '\n', which is useful since you almost never mean for whitespace to go beyond the newline.)

If 'name' is not None, the matching text will be put inside of a group of the given name. You can optionally include group attributes.

Str(*args)

(s1, s2, ...) -> match s1 or s2 or ...

Str1(s)

(s) -> match the literal string

ToEol(name=None, attrs=None)

match everything up to and including the end of line

If 'name' is not None, the matching text, except for the newline, will be put inside a group of the given name. You can optionally include group attributes.

ToSep(name=None, sep=None, attrs=None)

match all characters up to the given seperator(s)

This is useful for parsing space, tab, color, or other character delimited fields. There is no default seperator character.

If 'name' is not None, the matching text, except for the seperator will be put inside a group of the given name. You can optionally include group attributes. The seperator character will also be consumed.

Neither "\r" nor "\n" may be used as a seperator

Unprintable(name=None, attrs=None)

match an unprintable character (characters not in string.printable)

If 'name' is not None, the matching text will be put inside of a group of the given name. You can optionally include group attributes.

UntilEol(name=None, attrs=None)

match everything up to but not including the end of line

If 'name' is not None, the matching text, except for the newline, will be put inside a group of the given name. You can optionally include group attributes.

UntilSep(name=None, sep=None, attrs=None)

match all characters up to the given seperators(s)

This is useful for parsing space, tab, color, or other character delimited fields. There is no default seperator.

If 'name' is not None, the matching text, except for the seperator will be put inside a group of the given name. You can optionally include group attributes. The seperator character will not be consumed.

Neither "\r" nor "\n" may be used as a seperator.

Word(name=None, attrs=None)

match a 'word'

A 'word' is defined as '\w+', and \w is [a-zA-Z0-9_].

If 'name' is not None, the matching text will be put inside of a group of the given name. You can optionally include group attributes.

In other words, this is the short way to write (?P<name>\w+).

Generated by Epydoc 2.1 on Mon Aug 27 16:13:11 2007 http://epydoc.sf.net