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() 这两个函数使用
类似于
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 >>> pattern = re.compile(r'\d+') # 用于匹配至少一个数字 2 >>> m = pattern.match('one12twothree34four') # 查找头部,没有匹配
findall
在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表。
注意: match 和 search 是匹配一次 findall 匹配所有。
findall(string[, pos[, endpos]])
参数:
- string 待匹配的字符串。
- pos 可选参数,指定字符串的起始位置,默认为 0。
- endpos 可选参数,指定字符串的结束位置,默认为字符串的长度。
re.finditer
和 findall 类似,在字符串中找到正则表达式所匹配的所有子串,并把它们作为一个迭代器返回。
re.finditer(pattern, string, flags=0)
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
in: import re it = re.finditer(r"\d+","12a32bc43jf3") for match in it: print (match.group(),end='' ) out: 1232433
转载菜鸟教程 :http://www.runoob.com/python3/python3-reg-expressions.html