Module pyparsing :: Class MatchFirst |
[frames] | no frames]

# Class MatchFirst

source code

       object --+
                |
    ParserElement --+
                    |
      ParseExpression --+
                        |
                       MatchFirst

Requires that at least one `ParseExpression` is found. If two expressions match, the first one listed is the one that will match. May be constructed using the `'|'` operator.

Example:

       # construct MatchFirst using '|' operator

       # watch the order of expressions to match
       number = Word(nums) | Combine(Word(nums) + '.' + Word(nums))
       print(number.searchString("123 3.1416 789")) #  Fail! -> [['123'], ['3'], ['1416'], ['789']]

       # put more selective expression first
       number = Combine(Word(nums) + '.' + Word(nums)) | Word(nums)
       print(number.searchString("123 3.1416 789")) #  Better -> [['123'], ['3.1416'], ['789']]

Instance Methods
__init__(self, exprs, savelist=False) x.__init__(...) initializes x; see help(type(x)) for signature | source code
parseImpl(self, instring, loc, doActions=True) | source code
__ior__(self, other) | source code
__str__(self) str(x) | source code
checkRecursion(self, parseElementList) | source code
Inherited from `ParseExpression`: `__getitem__`, `append`, `copy`, `ignore`, `leaveWhitespace`, `setResultsName`, `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`, `matches`, `parseFile`, `parseString`, `parseWithTabs`, `postParse`, `preParse`, `runTests`, `scanString`, `searchString`, `setBreak`, `setDebug`, `setDebugActions`, `setFailAction`, `setName`, `setParseAction`, `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
| __slotnames__ = ``[``]``
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, exprs, savelist=False) (Constructor) | source code
x.__init__(...) initializes x; see help(type(x)) for signature Overrides: object.__init__ (inherited documentation)

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

### __str__(self) (Informal representation operator) | source code
str(x) Overrides: object.__str__ (inherited documentation)

### checkRecursion(self, parseElementList) | source code
Overrides: ParserElement.checkRecursion