pyparsing ParserElement类

 class ParserElement


# 设置分隔符,默认是' \r\t\n'

def setDefaultWhitespaceChars( chars )


# 静态方法,设置输入字符串该封装为何种对象,默认是Literal

def inlineLiteralsUsing(cls)


# 复制一个对象,并且parseAction、ignoreExprs、DEFAULT_WHITE_CHARS进行复制

def copy( self )


# 设置调试时候显示的名字

def setName( self, name )


# 设置输入结果的名字,这样匹配的结果就可以当成字典来使用

# 此方法是进行基础的对象进行copy,然后设置名字

# 顾基础对象还可以被设置其他的名字

# 如果名字最后一个字符为‘*’,或listAllMatches设置为True

# 那么当这个匹配被嵌套进一个例如OneMore这样的多匹配中,可以返回所有匹配到的内容

def setResultsName( self, name, listAllMatches=False )


# 设置匹配成功后调用的回调函数,回调函数的参考个数为0-3之间

# fn(s,loc,toks), fn(loc,toks), fn(toks),  fn()

# s:输入的匹配串,loc:当前的偏移量,toks:当前匹配到的内容

# 如果项通过函数修改匹配内容,那么需求返回一个结果,否则就不用返回

# 输入可以是一个回调函数,或包含多个回调函数的list

def setParseAction( self, *fns, **kwargs )


# 类似于setParseAction,可以在后续不断的增加回调函数

def addParseAction( self, *fns, **kwargs )


# 当匹配失败时设置调用一个回调函数,fn(s,loc,expr,err)

# s:匹配的串,loc:当前偏移量,expr:匹配的表达式,err:异常对象

def setFailAction( self, fn )


# 此方法不用被外部调用,

# 主要功能为在进行匹配之前做两个事情:

# 1、跳过ignoreExprs(此通过ignore方法设置)

# 2、跳过空白字符

def preParse( self, instring, loc )


# 静态方法,将之前匹配过的信息缓存下来,后续不用重复匹配

def enablePackrat()


# 具体实施解析的函数

#parseAll为True相当于expr加上StringEnd()

def parseString( self, instring, parseAll=False )


# +:And

def __add__(self, other )


# '- ',像诸如scanString这种循环扫描的方法,

# 如果使用-号连接时,那么一旦不匹配就立即报错而不是继续的匹配

def __sub__(self, other)


# expr * 3 == expr + expr + expr

# expr*(n,None) == expr*(n,) == expr*n + ZeroOrMore(expr)

# expr*(None,n) == expr*(0,n)

# expr*(None,None) == ZeroOrMore(expr)

# expr*(1,None) == OneOrMore(expr)

def __mul__(self,other)


# '|' MatchFirst

def __or__(self, other )


# '^' Or

def __xor__(self, other )


# '&'  与

def __and__(self, other )


# '~'非判断,不占用偏移量

def __invert__( self )



# setResultsName的快捷方式

def __call__(self, name=None)


# 同Suppress

def suppress( self )


# 不进行Whitespace的自动跳跃

def leaveWhitespace( self )


# 设置Whitespace字符,默认为' \r\n\t'

def setWhitespaceChars( self, chars )


# 不将tab转换为空格

def parseWithTabs( self )


# 忽略匹配的expr

def ignore( self, other )


# 设置为调试模式

def setDebug( self, flag=True )


# 对文件进行解析,内部用parseString调用read

def parseFile( self, file_or_filename, parseAll=False )





你可能感兴趣的:(python,pyparsing)