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() 这两个函数使用

类似于

 >>> pattern = re.compile(r'\d+')                    # 用于匹配至少一个数字
>>> 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)

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

上一篇:DWR使用总结


下一篇:SQL判断某列中是否包含中文字符或者英文字符