千家信息网

python自动化的re模块怎么用

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,今天小编给大家分享一下python自动化的re模块怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们
千家信息网最后更新 2026年11月03日python自动化的re模块怎么用

今天小编给大家分享一下python自动化的re模块怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

    一、re是什么?

    正则表达式是一个特殊的字符序列,能方便的检查一个字符串是否与某种模式匹配。re模块使得python拥有全部的正则表达式功能。

    二、re 模块的作用

    通过使用正则表达式,可以:
    测试字符串内的模式。—— 例如,可以测试输入字符串,以查看字符串内是否出现电话号码模式或信用卡号码模式。这称为数据验证。
    替换文本。—— 可以使用正则表达式来识别文档中的特定文本,完全删除该文本或者用其他文本替换它。
    基于模式匹配从字符串中提取子字符串。—— 可以查找文档内或输入域内特定的文本。

    三、re模块的使用

    1、常用方法

    • findAll(): 匹配所有的字符串,把匹配结果作为一个列表返回

    • match(): 匹配字符串的开始位置,如果开始位置没有,则返回None

    • search():在字符串中搜索,返回搜索到的第一个

    • finditer():匹配所有的字符串,返回迭代器

    2、 元字符

    匹配任意字符(除\n以外) h. 代表匹配h后的任意一个字符

    import reres = 'h.'s = 'hello python'result = re.findall(res, s)print(result)  # ['he', 'ho']

    [] 拿[]中的人任意一个字符,去字符串中匹配,匹配到一个返回一个,最后以列表返回

    import reres2 = '[hon]'s = 'hello python'result = re.findall(res2, s)print(result)  # ['h', 'o', 'h', 'o', 'n']

    \d 匹配数字0-9

    import reres2 = '[\d]'s = 'hell666o pyt999hon'result = re.findall(res2, s)print(result)  # ['6', '6', '6', '9', '9', '9']

    \D 匹配非数字, 包含空格

    import reres2 = '[\D]'s = 'hello 3334 python 88'result = re.findall(res2, s)print(result)  # ['h', 'e', 'l', 'l', 'o', ' ', ' ', 'p', 'y', 't', 'h', 'o', 'n', ' ']

    ‘\s’ 匹配空白字符

    import reres2 = '[\s]'s = 'hello 3334 python 88'result = re.findall(res2, s)print(result)  # [' ', ' ', ' ']

    ‘\S’ 匹配非空白字符

    import reres2 = '[\S]'s = 'hello 3334 python 88'result = re.findall(res2, s)print(result)  # ['h', 'e', 'l', 'l', 'o', '3', '3', '3', '4', 'p', 'y', 't', 'h', 'o', 'n', '8', '8']

    \w 匹配非特殊字符,即a-z、A-Z、0-9、_、汉字

    import reres2 = '[\w]'s = 'hello#&_ aa 8python中国'result = re.findall(res2, s)print(result)  # ['h', 'e', 'l', 'l', 'o', '_', 'a', 'a', '8', 'p', 'y', 't', 'h', 'o', 'n', '中', '国']

    \W 匹配特殊字符 ( - ~@#$&*)空格也属于特殊字符

    import reres2 = '[\W]'s = '-hello#&_ aa 8python中国'result = re.findall(res2, s)print(result)  # ['-', '#', '&', ' ', ' ']

    3、多字符匹配

    (1)*:匹配前一个字符出现一次,或无限次 贪婪模式

    import reres2 = 'h*'s = '-hhello hhh python'result = re.findall(res2, s)print(result)  #['', 'hh', '', '', '', '', '', 'hhh', '', '', '', '', 'h', '', '', '']import reres2 = 'h*'s = '-hhello hhh python'result = re.findall(res2, s)print(result)  #['', 'hh', '', '', '', '', '', 'hhh', '', '', '', '', 'h', '', '', '']

    (2) + :匹配前一个字符出现1次或无穷次

    import reres2 = 'h+'s = '-hhello hhh python'result = re.findall(res2, s)print(result) # ['hh', 'hhh', 'h']

    (3)?: 匹配前一个字符出现0次或者1次,非贪婪模式

    import reres2 = 'h?'s = '-hhello hhh python'result = re.findall(res2, s)print(result) # ['', 'h', 'h', '', '', '', '', '', 'h', 'h', 'h', '', '', '', '', 'h', '', '', '']

    (4) {n} :匹配前一个字符连续出现n次

    import reres2 = 'https{2}'s = '-hhello-httpssss-python'result = re.findall(res2, s)print(result) # ['httpss'] 匹配到前一个字符s 连续出现2次

    {n,m} :匹配前一个字符出现n-m次

    import reres2 = 'https{1,3}'s = '-hhello-httpssss-python'result = re.findall(res2, s)print(result) # ['httpss']

    (5) 贪婪模式和非贪婪模式

    正则表达式通常使用于查找匹配字符串。贪婪模式,总是尝试匹配尽可能多的字符;非贪婪模式正好相反,总是尝试匹配尽可能少的字符。在"*","?","+","{m,n}"后面加上?,使贪婪变成非贪婪。

    (6) | :两个条件进行匹配,或的关系

    import reres2 = 'he|ll's = 'hello python'result = re.findall(res2, s)print(result) # ['he', 'll']

    (7)边界值:

    ^ :匹配以哪个字符开头的

    import reres2 = '^he's = 'hello python'result = re.findall(res2, s)print(result) # ['he']

    $ : 匹配以哪个字符结尾的字符

    import reres2 = 'on$'s = 'hello python'result = re.findall(res2, s)print(result) # ['on']

    4、分组匹配

    () :只匹配()里面的

    import reres2 = '#(\w.+?)#'s = "{'mobile_phone':'#mobile_phone#','pwd':'Aa123456'}"result = re.findall(res2, s)print(result)  # ['mobile_phone']

    5、match()方法的使用

    str = "www.runoob.com"print(re.match('www', str).span())  # 在起始位置匹配 ,返回匹配到的区间下标  (0,3)print(re.match('com', str))  # 不在起始位置匹配  None

    6、 search():在字符串中搜索,返回搜索到的第一个

    str = "www.runoob.com"print(re.search('www', str).span())  # 在起始位置匹配 ,返回匹配到的区间下标print(re.search('com', str).span())  # 不在起始位置匹配

    re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None;而re.search匹配整个字符串,直到找到一个匹配。

    7、 finditer():

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

    res = 'h.'s = 'hello python'result = re.finditer(res, s)for str in result:    print(str.group())heho

    以上就是"python自动化的re模块怎么用"这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注行业资讯频道。

    字符 字符串 模式 贪婪 正则 表达式 位置 模块 特殊 文本 知识 篇文章 搜索 起始 迭代 自动化 下标 内容 区间 号码 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技工作委员会副主任毛军 科技金融是不是互联网金融 科技互联网公司装修 互联网科技开发公司 互联网科技公司发展 有马互联网科技 上海喔噻互联网科技 哈尔滨秒房互联网科技有限公司 湖南洣水互联网科技有限公司扣款 互联网经济与金融科技 坤平互联网科技 互联网科技扶贫时间 玉溪新华互联网科技好不好 朱啸虎曾投资哪些互联网科技企业 艺电能源互联网科技有限公司招聘 唐山双旺合互联网科技产业园 深圳互联网科技园地址 互联网科技大会大佬 长沙易易互联网科技有限公司 瑞安市蟠桃会互联网科技有限公司 老年人脱离互联网科技的作文 互联网汽车科技小镇 剑昆互联网络科技有限公司临桂 互联网校园科技培训 崇明区互联网教育科技诚信经营 互联网科技革命什么开始 晓花互联网科技有限公司网址 浙南科技城互联网大厦建设工程 同城互联网络科技 重庆科技产业互联网有哪些
    0