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使用
简单吧 :)
网友评论