1. id_str = input("输入一个身份证号:")
  2. import re
  3.  
  4. obj = re.compile(r"^([1-9]\d{16}[0-9x]|[1-9]\d{14})$") # 将正则表达式编译成为一个 正则表达式对象
  5. ret = obj.match(id_str)
  6. if ret:
  7. print("输入的身份证合法", ret.group())
  8. else:
  9. print("输入不合法")
  1. import re
  2.  
  3. ret = 'eva3egon4yuan4'.replace('', 'H')
  4. print(ret) # eva3egonHyuanH
  5.  
  6. ret = re.sub(r'\d', 'H', 'eva3egon4yuan4') # 将数字替换成'H',全部替换
  7. print(ret) # evaHegonHyuanH
  8. ret = re.sub(r'\d', 'H', 'eva3egon4yuan4', ) # 将数字替换成'H',参数1 表示只替换1个
  9. print(ret) # evaHegon4yuan4
  10. ret = re.subn(r'\d', 'H', 'eva3egon4yuan4') # 将数字替换成'H',返回元组(替换的结果,替换了多少次)
  11. print(ret) #('evaHegonHyuanH', 3)
  1. ret = re.findall(r"[\d|\.]+", "2020-10-10 11:12:40.237")
  2. print(ret) # ['2020', '10', '10', '11', '12', '40.237']
  3.  
  4. ret = re.sub(r'\.\d+', '', "40.23723")
  5. print(ret) #
  1. import re
  2. s = " ABC hello Bye "
  3. obj = re.compile(r'\s+') # 任意多个空格
  4. s1 = re.sub(obj, '', s) # 将符合规则的字符串 替换为空字符''
  5. print(s1)
  1. import re
  2.  
  3. ret = re.split(r"\d+", "eva3egon4yuan")
  4. print(ret) # 结果 : ['eva', 'egon', 'yuan']
  5.  
  6. ret = re.split(r"(\d+)", "eva3egon4yuan")
  7. print(ret) # 结果 : ['eva', '3', 'egon', '4', 'yuan']
  8.  
  9. ret = re.split('[ab]', 'abcd') # 先按'a'分割得到''和'bcd',再对''和'bcd'分别按'b'分割
  10. print(ret) # ['', '', 'cd']
  1. import re
  2.  
  3. # ()是分组 ?:是取消了分组的优先权限
  1. ret = re.findall(r'www.(?:baidu|oldboy).com', '123www.baidu.com456www.oldboy.com789')
    print(ret) # ['www.baidu.com', 'www.oldboy.com']
  2.  
  3. ret1 = re.search(r'www.(?:baidu|oldboy).com', '123www.baidu.com456www.oldboy.com789')
    print(ret1)
    if ret1:
      print(ret1.group()) # www.baidu.com
  4.  
  5. ret2 = re.match(r'www.(?:baidu|oldboy).com', '123www.baidu.com456www.oldboy.com789')
    print(ret2) # None
    if ret2:
      print(ret2.group())
  6.  
  7. # findall会优先把匹配结果组()里的内容返回
  1. ret = re.findall(r'www.(baidu|oldboy).com', '123www.baidu.com456www.oldboy.com789')
  2.  
  3. print(ret) # ['baidu', 'oldboy']
  1. import re
  2.  
  3. ret = re.finditer(r'\d', 'ds3sy4784a') # finditer返回一个存放匹配结果的迭代器
  4. print(ret) # callable_iterator object 可被调用执行的迭代器对象
  5.  
  6. # 迭代器的三种取值方法 方法1 next() 取到末尾再取则报错
  7. print(next(ret).group()) #查看第一个结果
  8. print(next(ret).group()) #查看第二个结果
  9. print(next(ret).group()) #查看第三个结果
  10.  
  11. # 迭代器的三种取值方法 方法2 for循环取值
  12. print([i.group() for i in ret]) # 已经被取值取走三个结果 只能查看剩余结果

  3
  4
  7
  ['8', '4']

  1. import re
  2.  
  3. ret = re.finditer(r'\d', 'ds3sy4784a') # finditer返回一个存放匹配结果的迭代器
  4. print(ret) # callable_iterator object 可被调用执行的迭代器对象
  5.  
  6. # 迭代器的三种取值方法 方法3 强制类型转换 list()
  7. for el in list(ret):
  8. print(el.group())

Re模块的方法补充的更多相关文章

  1. thinkphp访问不存在的模块或者方法跳转到404页面

    使用的thinkphp 版本是3.2.0, 在config.php中配置 404地址,即可: 'TMPL_EXCEPTION_FILE' => './Application/Home/View/ ...

  2. ThinkPHP3.2判断手机端访问并设置默认访问模块的方法

    ThinkPHP3.2判断是否为手机端访问并跳转到另一个模块的方法 目录结构 公共模块Common,Home模块,Mobile模块 配置Application/Common/Conf/config.p ...

  3. apache2服务器mod_rewrite模块 开启方法[linux, ubuntu]

    在UBUNTU系统中要启用mod_rewrite的方法有两种: 第一种: 在终端中执行 sudo a2enmod rewrite 指 令后,即启用了 Mod_rewrite 模块, apache2服务 ...

  4. python在不同层级目录import模块的方法

    使用python进行程序编写时,经常会使用第三方模块包.这种包我们可以通过python setup install 进行安装后,通过import XXX或from XXX import yyy 进行导 ...

  5. Python学习笔记4-如何快速的学会一个Python的模块、方法、关键字

    想要快速的学会一个Python的模块和方法,两个函数必须要知道,那就是dir()和help() dir():能够快速的以集合的型式列出该模块下的所有内容(类.常量.方法)例: #--encoding: ...

  6. 【转】关于python中re模块split方法的使用

    注:最近在研究文本处理,需要用到正则切割文本,所以收索到了这篇文章,很有用,谢谢原作者. 原址:http://blog.sciencenet.cn/blog-314114-775285.html 关于 ...

  7. python有三种导入模块的方法(转)

    原文:http://www.cnblogs.com/allenblogs/archive/2011/11/15/2055149.html python有三种导入模块的方法 其一, import mod ...

  8. Python中os和shutil模块实用方法集…

    Python中os和shutil模块实用方法集锦 类型:转载 时间:2014-05-13 这篇文章主要介绍了Python中os和shutil模块实用方法集锦,需要的朋友可以参考下 复制代码代码如下: ...

  9. Python中os和shutil模块实用方法集锦

    Python中os和shutil模块实用方法集锦 类型:转载 时间:2014-05-13 这篇文章主要介绍了Python中os和shutil模块实用方法集锦,需要的朋友可以参考下 复制代码代码如下: ...

随机推荐

  1. EL表达式---自定义函数(转)

    EL表达式---自定义函数(转) 有看到一个有趣的应用了,转下来,呵呵!! 1.定义类MyFunction(注意:方法必须为 public static) package com.tgb.jstl;  ...

  2. css文本阴影

    文本阴影-text-shadow text-shadow 属性向文本添加一个或多个阴影.该属性是逗号分隔的阴影列表,每个阴影有两个或三个长度值和一个可选的颜色值进行规定,省略的长度是 0. h-sha ...

  3. Java成长第五集--面向对象设计的五大原则

    S.O.L.I.D 是面向对象设计(OOD)和面向对象编程(OOP)中的几个重要编码原则(Programming Priciple)的首字母缩写.以下图说明: 下面就个人的理解来说说这五大原则的含义到 ...

  4. VulnHub靶场学习_HA: Avengers Arsenal

    HA: Avengers Arsenal Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-avengers-arsenal,369/ 背景: 复仇者联盟 ...

  5. python嵌套列表知多少

    今天在创建嵌套列表时遇到一个问题,决定看看到底是谁在背后捣鬼 >>> board1 = [[0]*3 for _ in range(3)] [[0, 0, 0], [0, 0, 0] ...

  6. tensorflow基础--LeNet-5测试模型遇到TypeError: Failed to convert object of type <class 'list'> to Tensor

    最近在看<TensorFlow 实战Google深度学习框架第二版>这本书,测试LeNet-5这个模型时遇到了TypeError: Failed to convert object of ...

  7. python爬虫面试题集锦及答案

    1.爬取数据后使用哪个数据库存储数据的,为什么? - 2.你用过的爬虫框架或者模块有哪些?优缺点? - 3.写爬虫是用多进程好?还是多线程好? - 4.常见的反爬虫和应对方法? - 5.需要登录的网页 ...

  8. 关于synergy的问题

    报错信息主要集中在以下两条: ERROR: ssl error occurred (system call failure) ERROR: eof violates ssl protocol 通过查找 ...

  9. Python 基础教程(第二版)笔记 (1)

    P22 除非对 input 有特别的需要,否则应该尽可能使用 raw_input 函数. 长字符串,跨多行,用三个引号代替普通引号.并且不需要使用反斜线进行转义. P23 原始字符串 print r' ...

  10. Python带你做个愉快的"动森"玩家! (超简单代码)

    最近Switch上的<动物森友会>可谓是炙手可热,它几乎算是任天堂版的<模拟人生>了,它的最新游戏<集合啦!动物森友会>(以下称“动森”)在发售后,取得了不错的媒体 ...