python正则表达式

  • findall的使用
#findall有两种用法:
findall(string[, pos[, endpos]])
re.findall(pattern, string[, flags])
#示例
import re  
a = 'abc123abv23456'  
b = re.findall(r'23(a)?',a)  
print b  
b = re.findall(r'23(?:a)?',a)  
print b 
#输出结果:
'a', '']  
['23a', '23']  
#findall如果使用了分组,则输出的内容将是分组中的内容而非find到的结果,为了得到find到的结果,要加上问号来启用“不捕捉模式”
  •  match的使用
re.match(pattern, string[, flags])
#判断 pattern 是否在字符串开头位置匹配。对于 RegexObject,有:
match(string[, pos[, endpos]])
#match() 函数只在字符串的开始位置尝试匹配正则表达式,也就是只报告从位置 0 开始的匹配情况,而 search() 函数是扫描整个字符串来查找匹配。如果想要搜索整个字符串来寻找匹配,应当用 search()。

 

posted @ 2017-10-09 14:33  dqq_nlp  阅读(152)  评论(0编辑  收藏  举报