Module pyparsing :: Class Word
[frames] | no frames]

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:

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=",")
Instance Methods
 
__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
 
parseImpl(self, instring, loc, doActions=True) source code
 
__str__(self)
str(x)
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__

Static Methods

Inherited from ParserElement: enablePackrat, inlineLiteralsUsing, resetCache, setDefaultWhitespaceChars

Class Variables
  __slotnames__ = []

Inherited from ParserElement: DEFAULT_WHITE_CHARS, packrat_cache, packrat_cache_lock, packrat_cache_stats, verbose_stacktrace

Properties

Inherited from object: __class__

Method Details

__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)

parseImpl(self, instring, loc, doActions=True)

source code 
Overrides: ParserElement.parseImpl

__str__(self)
(Informal representation operator)

source code 

str(x)

Overrides: object.__str__
(inherited documentation)