Class Word
source code
object --+
|
ParserElement --+
|
Token --+
|
Word
Token for matching words composed of allowed character sets. Defined
with string containing all allowed initial characters, an optional string
containing allowed body characters (if omitted, defaults to the initial
character set), and an optional minimum, maximum, and/or exact length.
The default value for min
is 1 (a minimum value < 1 is
not valid); the default values for max
and
exact
are 0, meaning no maximum or exact length restriction.
An optional excludeChars
parameter can list characters that
might be found in the input bodyChars
string; useful to
define a word of all printables except for one or two characters, for
instance.
srange is
useful for defining custom character set strings for defining
Word
expressions, using range notation from regular
expression character sets.
A common mistake is to use Word
to match a specific
literal string, as in Word("Address")
. Remember
that Word
uses the string argument to define sets of
matchable characters. This expression would match "Add",
"AAA", "dAred", or any other word made up of the
characters 'A', 'd', 'r', 'e', and 's'. To match an exact literal string,
use Literal or Keyword.
pyparsing includes helper strings for building Words:
-
alphas
-
nums
-
alphanums
-
hexnums
-
alphas8bit (alphabetic characters in ASCII range
128-255 - accented, tilded, umlauted, etc.)
-
punc8bit
(non-alphabetic characters in ASCII range 128-255 - currency,
symbols, superscripts, diacriticals, etc.)
-
printables (any non-whitespace character)
Example:
# a word composed of digits
integer = Word(nums) # equivalent to Word("0123456789") or Word(srange("0-9"))
# a word with a leading capital, and zero or more lowercase
capital_word = Word(alphas.upper(), alphas.lower())
# hostnames are alphanumeric, with leading alpha, and '-'
hostname = Word(alphas, alphanums+'-')
# roman numeral (not a strict parser, accepts invalid mix of characters)
roman = Word("IVXLCDM")
# any string of non-whitespace characters, except for ','
csv_value = Word(printables, excludeChars=",")
|
__init__(self,
initChars,
bodyChars=None,
min=1,
max=0,
exact=0,
asKeyword=False,
excludeChars=None)
x.__init__(...) initializes x; see help(type(x)) for signature |
source code
|
|
|
|
|
|
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 ,
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__
|
Inherited from object :
__class__
|
__init__(self,
initChars,
bodyChars=None,
min=1,
max=0,
exact=0,
asKeyword=False,
excludeChars=None)
(Constructor)
| source code
|
x.__init__(...) initializes x; see help(type(x)) for signature
- Overrides:
object.__init__
- (inherited documentation)
|
__str__(self)
(Informal representation operator)
| source code
|
str(x)
- Overrides:
object.__str__
- (inherited documentation)
|