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

Class Combine

source code

     object --+            
              |            
  ParserElement --+        
                  |        
ParseElementEnhance --+    
                      |    
         TokenConverter --+
                          |
                         Combine

Converter to concatenate all matching tokens to a single string. By default, the matching patterns must also be contiguous in the input string; this can be disabled by specifying 'adjacent=False' in the constructor.

Example:

   real = Word(nums) + '.' + Word(nums)
   print(real.parseString('3.1416')) # -> ['3', '.', '1416']
   # will also erroneously match the following
   print(real.parseString('3. 1416')) # -> ['3', '.', '1416']

   real = Combine(Word(nums) + '.' + Word(nums))
   print(real.parseString('3.1416')) # -> ['3.1416']
   # no match when there are internal spaces
   print(real.parseString('3. 1416')) # -> Exception: Expected W:(0123...)
Instance Methods
 
__init__(self, expr, joinString='', adjacent=True)
x.__init__(...) initializes x; see help(type(x)) for signature
source code
 
ignore(self, other)
Define expression to be ignored (e.g., comments) while doing pattern matching; may be called repeatedly, to define multiple comment or other ignorable patterns.
source code
 
postParse(self, instring, loc, tokenlist) source code

Inherited from ParseElementEnhance: __str__, checkRecursion, leaveWhitespace, parseImpl, 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, 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
  __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, expr, joinString='', adjacent=True)
(Constructor)

source code 

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

Overrides: object.__init__
(inherited documentation)

ignore(self, other)

source code 

Define expression to be ignored (e.g., comments) while doing pattern matching; may be called repeatedly, to define multiple comment or other ignorable patterns.

Example:

   patt = OneOrMore(Word(alphas))
   patt.parseString('ablaj /* comment */ lskjd') # -> ['ablaj']
   
   patt.ignore(cStyleComment)
   patt.parseString('ablaj /* comment */ lskjd') # -> ['ablaj', 'lskjd']
Overrides: ParserElement.ignore
(inherited documentation)

postParse(self, instring, loc, tokenlist)

source code 
Overrides: ParserElement.postParse