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

Class CloseMatch

source code

   object --+        
ParserElement --+    
            Token --+

A variation on :class:`Literal` which matches "close" matches, that is, strings with at most 'n' mismatching characters. :class:`CloseMatch` takes parameters:

The results from a successful parse will contain the matched text from the input string and the following named results:

If ``mismatches`` is an empty list, then the match was an exact match.


   patt = CloseMatch("ATCATCGAATGGA")
   patt.parseString("ATCATCGAAXGGA") # -> (['ATCATCGAAXGGA'], {'mismatches': [[9]], 'original': ['ATCATCGAATGGA']})
   patt.parseString("ATCAXCGAAXGGA") # -> Exception: Expected 'ATCATCGAATGGA' (with up to 1 mismatches) (at char 0), (line:1, col:1)

   # exact match
   patt.parseString("ATCATCGAATGGA") # -> (['ATCATCGAATGGA'], {'mismatches': [[]], 'original': ['ATCATCGAATGGA']})

   # close match allowing up to 2 mismatches
   patt = CloseMatch("ATCATCGAATGGA", maxMismatches=2)
   patt.parseString("ATCAXCGAAXGGA") # -> (['ATCAXCGAAXGGA'], {'mismatches': [[4, 9]], 'original': ['ATCATCGAATGGA']})
Nested Classes [hide private]
Instance Methods [hide private]
__init__(self, match_string, maxMismatches=1)
x.__init__(...) initializes x; see help(type(x)) for signature
source code
parseImpl(self, instring, loc, doActions=True) source code

Inherited from ParserElement: __add__, __and__, __call__, __eq__, __getitem__, __hash__, __invert__, __iter__, __mul__, __ne__, __or__, __radd__, __rand__, __repr__, __req__, __rmul__, __rne__, __ror__, __rsub__, __rxor__, __str__, __sub__, __xor__, addCondition, addParseAction, canParseNext, checkRecursion, copy, ignore, leaveWhitespace, matches, parseFile, parseString, parseWithTabs, postParse, preParse, runTests, scanString, searchString, setBreak, setDebug, setDebugActions, setFailAction, setName, setParseAction, setResultsName, setWhitespaceChars, split, streamline, suppress, transformString, tryParse, validate

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]

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, match_string, maxMismatches=1)

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