parameters: (s)
docstring: r"""
      Helper to easily define string ranges for use in Word construction.  Borrows
      syntax from regexp '[]' string range definitions::
          srange("[0-9]")   -> "0123456789"
          srange("[a-z]")   -> "abcdefghijklmnopqrstuvwxyz"
          srange("[a-z$_]") -> "abcdefghijklmnopqrstuvwxyz$_"
      The input string must be enclosed in []'s, and the returned string is the expanded
      character set joined into a single string.
      The values enclosed in the []'s may be:
       - a single character
       - an escaped character with a leading backslash (such as C{\-} or C{\]})
       - an escaped hex character with a leading C{'\x'} (C{\x21}, which is a C{'!'} character) 
           (C{\0x##} is also supported for backwards compatibility) 
       - an escaped octal character with a leading C{'\0'} (C{\041}, which is a C{'!'} character)
       - a range of any of the above, separated by a dash (C{'a-z'}, etc.)
       - any combination of the above (C{'aeiouy'}, C{'a-zA-Z0-9_$'}, etc.)
docstring_summary: r"""
      Helper to easily define string ranges for use in Word construction.  Borrows
      syntax from regexp '[]' string range definitions::
          srange("[0-9]")   -> "0123456789"
          srange("[a-z]")   -> "abcdefghijklmnopqrstuvwxyz"
          srange("[a-z$_]") -> "abcdefghijklmnopqrstuvwxyz$_"
      The input string must be enclosed in []'s, and the returned string is the expanded
      character set joined into a single string.
      The values enclosed in the []'s may be:
       - a single character
       - an escaped character with a leading backslash (such as C{\-} or C{\]})
       - an escaped hex character with a leading C{'\x'} (C{\x21}, which is a C{'!'} character) 
           (C{\0x##} is also supported for backwards compatibility) 
       - an escaped octal character with a leading C{'\0'} (C{\041}, which is a C{'!'} character)
       - a range of any of the above, separated by a dash (C{'a-z'}, etc.)
       - any combination of the above (C{'aeiouy'}, C{'a-zA-Z0-9_$'}, etc.)
docstring_tokens: r Helper to easily define string ranges for use in Word construction . Borrows syntax from regexp [] string range definitions :: srange ( [ 0 - 9 ] ) - > 0123456789 srange ( [ a - z ] ) - > abcdefghijklmnopqrstuvwxyz srange ( [ a - z$_ ] ) - > abcdefghijklmnopqrstuvwxyz$_ The input string must be enclosed in [] s and the returned string is the expanded character set joined into a single string . The values enclosed in the [] s may be : - a single character - an escaped character with a leading backslash ( such as C { \ - } or C { \ ] } ) - an escaped hex character with a leading C { \ x } ( C { \ x21 } which is a C { ! } character ) ( C { \ 0x## } is also supported for backwards compatibility ) - an escaped octal character with a leading C { \ 0 } ( C { \ 041 } which is a C { ! } character ) - a range of any of the above separated by a dash ( C { a - z } etc . ) - any combination of the above ( C { aeiouy } C { a - zA - Z0 - 9_$ } etc . )
function: def srange(s):
      r"""
      Helper to easily define string ranges for use in Word construction.  Borrows
      syntax from regexp '[]' string range definitions::
          srange("[0-9]")   -> "0123456789"
          srange("[a-z]")   -> "abcdefghijklmnopqrstuvwxyz"
          srange("[a-z$_]") -> "abcdefghijklmnopqrstuvwxyz$_"
      The input string must be enclosed in []'s, and the returned string is the expanded
      character set joined into a single string.
      The values enclosed in the []'s may be:
       - a single character
       - an escaped character with a leading backslash (such as C{\-} or C{\]})
       - an escaped hex character with a leading C{'\x'} (C{\x21}, which is a C{'!'} character) 
           (C{\0x##} is also supported for backwards compatibility) 
       - an escaped octal character with a leading C{'\0'} (C{\041}, which is a C{'!'} character)
       - a range of any of the above, separated by a dash (C{'a-z'}, etc.)
       - any combination of the above (C{'aeiouy'}, C{'a-zA-Z0-9_$'}, etc.)
      """
      _expanded = lambda p: p if not isinstance(p,ParseResults) else ''.join(unichr(c) for c in range(ord(p[0]),ord(p[1])+1))
      try:
          return "".join(_expanded(part) for part in _reBracketExpr.parseString(s).body)
      except Exception:
          return ""
function_tokens: def srange ( s ) : _expanded = lambda p : p if not isinstance ( p , ParseResults ) else '' . join ( unichr ( c ) for c in range ( ord ( p [ 0 ] ) , ord ( p [ 1 ] ) + 1 ) ) try : return "" . join ( _expanded ( part ) for part in _reBracketExpr . parseString ( s ) . body ) except Exception : return ""