美文网首页
【pyparsing使用指导】转换操作

【pyparsing使用指导】转换操作

作者: 安安爸Chris | 来源:发表于2018-12-11 20:25 被阅读0次

    pyparsing中的转换操作共三种

    • upcase(废弃)
    • Combine
    • Suppress

    废弃的不看了,就是转大小写。其他库里也有的。

    Combine

    之前的例子里,找到的匹配总是分开的,如果想合起来的话,就使用Combine就可以了。
    如之前的例子,

    text='123abc-'
    negative = Literal('-')
    pattern=Combine(Word('1234abcd') + Optional(negative))
    try:
        result = pattern.parseString(text)
        print result
    except ParseException as pe:
        print "  No match: {0}".format(str(pe))
    

    结果就合为一个了,


    Combine使用

    Suppress

    这个使用规则,但是不匹配到结果集中。
    举个例子,需要根据分隔符找到所有字符如下,

    text='a,b,c,d,1,2'
    wd=Word('abcd')
    pattern=wd+ZeroOrMore(','+ wd)
    try:
        result = pattern.parseString(text)
        print result
    except ParseException as pe:
        print "  No match: {0}".format(str(pe))
    
    包含了分隔符

    如果不想包含分隔符,就可以通过Suppress来修饰规则,

    text='a,b,c,d,1,2'
    wd=Word('abcd')
    pattern=wd+ZeroOrMore(Suppress(',')+ wd)
    try:
        result = pattern.parseString(text)
        print result
    except ParseException as pe:
        print "  No match: {0}".format(str(pe))
    
    Suppress使用

    简单吧 :)

    相关文章

      网友评论

          本文标题:【pyparsing使用指导】转换操作

          本文链接:https://www.haomeiwen.com/subject/ggzehqtx.html