pyparsing中的轉(zhuǎn)換操作共三種
- upcase(廢棄)
- Combine
- Suppress
廢棄的不看了淋硝,就是轉(zhuǎn)大小寫。其他庫里也有的宽菜。
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))
結(jié)果就合為一個(gè)了阵幸,
Combine使用
Suppress
這個(gè)使用規(guī)則花履,但是不匹配到結(jié)果集中芽世。
舉個(gè)例子,需要根據(jù)分隔符找到所有字符如下诡壁,
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來修飾規(guī)則,
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使用
簡(jiǎn)單吧 :)