diff options
author | Brandon LeBlanc <brandon@leblanc.codes> | 2018-08-06 13:22:11 -0500 |
---|---|---|
committer | Brandon LeBlanc <brandon@leblanc.codes> | 2018-08-06 13:22:11 -0500 |
commit | 2ea766e925afc2766405b2f2df1b2d86ee5a1bf8 (patch) | |
tree | 5d7435dc8f7940c1d30f017927056924e80e066a /pyparsing.py | |
parent | 8da759898768311ad3a67a1963d6132f138469a1 (diff) | |
download | pyparsing-git-2ea766e925afc2766405b2f2df1b2d86ee5a1bf8.tar.gz |
use CharsNotIn instead of the Words/Regex combo for srange
Diffstat (limited to 'pyparsing.py')
-rw-r--r-- | pyparsing.py | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/pyparsing.py b/pyparsing.py index e8aefc8..4398883 100644 --- a/pyparsing.py +++ b/pyparsing.py @@ -4734,7 +4734,7 @@ stringEnd = StringEnd().setName("stringEnd") _escapedPunc = Word( _bslash, r"\[]-*.$+^?()~ ", exact=2 ).setParseAction(lambda s,l,t:t[0][1])
_escapedHexChar = Regex(r"\\0?[xX][0-9a-fA-F]+").setParseAction(lambda s,l,t:unichr(int(t[0].lstrip(r'\0x'),16)))
_escapedOctChar = Regex(r"\\0[0-7]+").setParseAction(lambda s,l,t:unichr(int(t[0][1:],8)))
-_singleChar = _escapedPunc | _escapedHexChar | _escapedOctChar | Word(printables, excludeChars=r'\]', exact=1) | Regex(r"\w", re.UNICODE)
+_singleChar = _escapedPunc | _escapedHexChar | _escapedOctChar | CharsNotIn(r'\]')
_charRange = Group(_singleChar + Suppress("-") + _singleChar)
_reBracketExpr = Literal("[") + Optional("^").setResultsName("negate") + Group( OneOrMore( _charRange | _singleChar ) ).setResultsName("body") + "]"
|