目标:
    1:掌握 re 模块内 search()方法的作用
    2:掌握 re模块内 findall()方法的作用
    3:掌握 re 模块内sub()方法的作用
    4:掌握 re模块内 split()方法的作用

    一:re 模块内 search()方法

    功能:search方法会在待匹配的字符串内搜索查找符合规则的子字符串,匹配第一个符合规则的子字符串,没有匹配的返回None

    语法:re.search(pattern,string,flags)
    pattern:正则表达式
    string:待匹配的字符串
    flags:匹配模式

    注意事项:

    1:search方法会在待匹配字符串内匹配第一个符合规则的字符串,如果有多个符合规则的子字符串,也只返回第一个符合规则的,这和match方法一样

    2:search方法有一点不同于match方法,如果
    待匹配字符串开头的第一个字符不匹配,match就会返回None,而search方法不会,会继续搜索查找整个字符串

    快速代码体验(匹配阅读次数):

    image.png

    二:re 模块内 findall()方法

    功能:查找待匹配字符串内所有符合规则的子字符串,存放在
    列表内,因此findall方法返回的不是对象而是一个列表**

    语法:re.findall(pattern,string,flags)
    pattern:正则表达式
    string:待匹配的字符串
    flags:匹配模式

    注意事项:

    1:findall()方法返回的是一个列表,不是对象这是重点

    2:利用findall方法时,当正则表达式中有分组括号()时,findall方法只查找符合括号分组的数据并且返回这个列表

    3:
    当正则表达式中有多个分组且使用findall方法匹配数据时,查找所有分组内容,并且将多个分组内容保存到元组内从而保存至列表中

    不理解注意事项2可看这篇文章:https://blog.csdn.net/sinat_38682860/article/details/89682605

    快速代码体验(匹配出阅读次数、转发次数):

    image.png

    注意事项2:

    image.png

    三:re 模块内 sub()方法

    功能:利用
    正则表达式查找待匹配字符串内所有符合规则的子字符串,并且将符合的子字符串全部替换为指定的数据,并且返回这个替换全部数据后的字符串**

    语法:re.sub(pattern,替换的新字符串,string,count, flags)

    pattern:正则表达式
    string:待匹配的字符串
    count:替换的个数
    flags:替换模式
    其中 pattern、替换的新字符串、string这三个参数是必须有的,count,falgs可有可无

    注意事项:
    1:sub方法是查找所有符合条件的字符串,并且替换为指定数据
    2:sub方法返回是替换完数据后的字符串,不是对象也不是列表


    快速代码体验(将阅读次数与转发次数全部替换为 20000):

    image.png

    实例二:将招聘信息中的所有标签 <>以及 空白&nbap; 全部删除

    image.png

    注意事项:<[^>]+> 这个正则表达式可以匹配招聘信息中的所有标签,好好理解理解!

    四:re 模块内 split()方法

    功能:按照正则表达式拆分字符串并且返回字符串拆分后的列表

    语法:re.split(pattren,string)
    pattren:正则表达式
    string:待拆分的字符串

    注意事项:split方法返回的是一个列表,字符串拆分后的数据列表

    快速代码体验:

    image.png