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

Class MatchFirst

source code

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

Requires that at least one :class:`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']]
Nested Classes [hide private]
Instance Methods [hide private]
 
__init__(self, exprs, savelist=False)
x.__init__(...) initializes x; see help(type(x)) for signature
source code
 
streamline(self) 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
 
_setResultsName(self, name, listAllMatches=False) source code

Inherited from ParseExpression: append, copy, ignore, leaveWhitespace, validate

Inherited from ParserElement: __add__, __and__, __call__, __eq__, __getitem__, __hash__, __invert__, __iter__, __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, setResultsName, setWhitespaceChars, split, suppress, transformString, tryParse

Inherited from object: __delattr__, __format__, __getattribute__, __new__, __reduce__, __reduce_ex__, __setattr__, __sizeof__, __subclasshook__

Static Methods [hide private]

Inherited from ParserElement: enablePackrat, inlineLiteralsUsing, resetCache, setDefaultWhitespaceChars

Class Variables [hide private]
  __slotnames__ = []

Inherited from ParserElement: DEFAULT_WHITE_CHARS, packrat_cache, packrat_cache_lock, packrat_cache_stats, verbose_stacktrace

Inherited from ParserElement (private): _packratEnabled

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, exprs, savelist=False)
(Constructor)

source code 

x.__init__(...) initializes x; see help(type(x)) for signature

Overrides: object.__init__
(inherited documentation)

streamline(self)

source code 
Overrides: ParserElement.streamline

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

_setResultsName(self, name, listAllMatches=False)

source code 
Overrides: ParserElement._setResultsName