pyparsing 使用

from pyparsing  import Word ,Literal,Suppress,ParseResults,nums,alphanums,Combine,Keyword,Optional,oneOf

Q: 一个表达式,能把下面两种case 下的“c:15865844” 和“ctimes: 15865844” 都匹配出来。
str1 = "I/f( 5255): u:-3499006, c:15865844, k:0,RealUs:63562386362, you:63581751212"
str2 = "I/f( 5255): u:-3499006, ctimes:15865844, k:0,RealUs:63562386362, you:63581751212"


pat = (Literal('c:')|Literal('ctimes:')) + Word(nums)
print pat.searchString(str1)
print pat.searchString(str2)
 
  
要想表达“或”的关系。可以用 (exp1|exp2), 其中最外层两个小括号,不可少,原因未知。
 
  
 
  
 
  
 
  
oneOf() 的用法:oneOf(para), 其中的para 是一个字符串或者是一个list
l = ['a','b']
oneOf(l) # 可以表示匹配'a' 或者'b'
str = 'a' + ' ' + 'b'
oneOf(str) # 可以表示匹配'a' 或者'b'
 
  
 
  
 
  
 
 

你可能感兴趣的:(Python)