python3 正则表达式学习笔记

re.match函数

re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。

~匹配成功re.match方法返回一个匹配的对象,否则返回None。

re.match(pattern, string, flags=0)

re.search(pattern, string, flags=0)


 

 

 

re.search方法

re.search 扫描整个字符串并返回第一个成功的匹配

匹配成功re.search方法返回一个匹配的对象,否则返回None。

 

 

compile 函数

compile 函数用于编译正则表达式,生成一个正则表达式( Pattern )对象,供 match() 和 search() 这两个函数使用

类似于

1 >>> pattern = re.compile(r'\d+')                    # 用于匹配至少一个数字
2 >>> m = pattern.match('one12twothree34four')        # 查找头部,没有匹配
View Code

 

 

 

findall

在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表

注意: match 和 search 是匹配一次 findall 匹配所有。

findall(string[, pos[, endpos]])

参数:

  • string 待匹配的字符串。
  • pos 可选参数,指定字符串的起始位置,默认为 0。
  • endpos 可选参数,指定字符串的结束位置,默认为字符串的长度。

re.finditer

和 findall 类似,在字符串中找到正则表达式所匹配的所有子串,并把它们作为一个迭代器返回。

re.finditer(pattern, string, flags=0)

in:
import re
 
it = re.finditer(r"\d+","12a32bc43jf3") 
for match in it: 
    print (match.group(),end='' )
out:
1232433 
View Code

 

 

 

转载菜鸟教程 :http://www.runoob.com/python3/python3-reg-expressions.html

 

posted @ 2019-04-01 22:31  yunying  阅读(246)  评论(0编辑  收藏  举报