type CloseMatch
source code
object --+
|
ParserElement --+
|
Token --+
|
CloseMatch
A variation on Literal which matches "close"
matches, that is, strings with at most 'n' mismatching characters.
CloseMatch
takes parameters:
-
match_string
- string to be matched
-
maxMismatches
- (default=1
) maximum number
of mismatches allowed to count as a match
The results from a successful parse will contain the matched text from
the input string and the following named results:
-
mismatches
- a list of the positions within the
match_string where mismatches were found
-
original
- the original match_string used to compare
against the input string
If mismatches
is an empty list, then the match was an
exact match.
Example:
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']})
|
|
|
|
Inherited from ParserElement :
__add__ ,
__and__ ,
__call__ ,
__eq__ ,
__hash__ ,
__invert__ ,
__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
|