pyparsing.PrecededBy

Module pyparsing :: Class PrecededBy |

# Class PrecededBy

source code

         object --+
                  |
      ParserElement --+
                      |
    ParseElementEnhance --+
                          |
                         PrecededBy

Lookbehind matching of the given parse expression. `PrecededBy` does not advance the parsing position within the input string, it only verifies that the specified parse expression matches prior to the current position. `PrecededBy` always returns a null token list, but if a results name is defined on the given expression, it is returned.

Parameters:

- expr - expression that must match prior to the current parse location
- retreat - (default=`None`) - (int) maximum number of characters to lookbehind prior to the current parse location

If the lookbehind expression is a string, Literal, Keyword, or a Word or CharsNotIn with a specified exact or maximum length, then the retreat parameter is not required. Otherwise, retreat must be specified to give a maximum number of characters to look back from the current parse position for a lookbehind match.

Example:

       # VB-style variable names with type prefixes
       int_var = PrecededBy("#") + pyparsing_common.identifier
       str_var = PrecededBy("$") + pyparsing_common.identifier

Instance Methods
__init__(self, expr, retreat=None) x.__init__(...) initializes x; see help(type(x)) for signature | source code
parseImpl(self, instring, loc=0, doActions=True) | source code
Inherited from `ParseElementEnhance`: `__str__`, `checkRecursion`, `ignore`, `leaveWhitespace`, `streamline`, `validate` Inherited from `ParserElement`: `__add__`, `__and__`, `__call__`, `__eq__`, `__hash__`, `__invert__`, `__mul__`, `__ne__`, `__or__`, `__radd__`, `__rand__`, `__repr__`, `__req__`, `__rmul__`, `__rne__`, `__ror__`, `__rsub__`, `__rxor__`, `__sub__`, `__xor__`, `addCondition`, `addParseAction`, `canParseNext`, `copy`, `matches`, `parseFile`, `parseString`, `parseWithTabs`, `postParse`, `preParse`, `runTests`, `scanString`, `searchString`, `setBreak`, `setDebug`, `setDebugActions`, `setFailAction`, `setName`, `setParseAction`, `setResultsName`, `setWhitespaceChars`, `split`, `suppress`, `transformString`, `tryParse` Inherited from `object`: `__delattr__`, `__format__`, `__getattribute__`, `__new__`, `__reduce__`, `__reduce_ex__`, `__setattr__`, `__sizeof__`, `__subclasshook__`

Static Methods
Inherited from `ParserElement`: `enablePackrat`, `inlineLiteralsUsing`, `resetCache`, `setDefaultWhitespaceChars`

Class Variables
Inherited from `ParserElement`: `DEFAULT_WHITE_CHARS`, `packrat_cache`, `packrat_cache_lock`, `packrat_cache_stats`, `verbose_stacktrace`

Properties
Inherited from `object`: `__class__`

Method Details

### __init__(self, expr, retreat=None) (Constructor) | source code
x.__init__(...) initializes x; see help(type(x)) for signature Overrides: object.__init__ (inherited documentation)

### parseImpl(self, instring, loc=0, doActions=True) | source code
Overrides: ParserElement.parseImpl