summaryrefslogtreecommitdiff
path: root/pyparsing.py
diff options
context:
space:
mode:
authorBrandon LeBlanc <brandon@leblanc.codes>2018-08-06 13:22:11 -0500
committerBrandon LeBlanc <brandon@leblanc.codes>2018-08-06 13:22:11 -0500
commit2ea766e925afc2766405b2f2df1b2d86ee5a1bf8 (patch)
tree5d7435dc8f7940c1d30f017927056924e80e066a /pyparsing.py
parent8da759898768311ad3a67a1963d6132f138469a1 (diff)
downloadpyparsing-git-2ea766e925afc2766405b2f2df1b2d86ee5a1bf8.tar.gz
use CharsNotIn instead of the Words/Regex combo for srange
Diffstat (limited to 'pyparsing.py')
-rw-r--r--pyparsing.py2
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") + "]"