【pyparsing使用指导】转换操作

2018-12-11  本文已影响0人  安安爸Chris

pyparsing中的转换操作共三种

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

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使用

简单吧 :)

上一篇下一篇

猜你喜欢

热点阅读