作用:替换字符串中的某字符串

本文以 ‘×××’掩盖手机号部分数字 为例,介绍re模块的sub的用法: 返回值 -> 字符串

复杂匹配 = re.compile(正则表达式): 将正则表达式实例化

+

re.sub(要匹配的字符串): 从字符串开头 开始匹配,寻找完整个字符串后,将结果以 字符串 返回

简单匹配 = re.sub(正则表达式,  要替换成为这个样子的字符串, 要匹配的原字符串): 从字符串开头 开始匹配,寻找完整个字符串后,将结果以 字符串 返回

懒癌,配上模块函数解释好消化re.sub(pattern, repl, string, count, flags),如果匹配成功,则返回一个repl过的 字符串,否则返回原string;

第一个参数:正则表达式

第二个参数:要替换成为这个样子的字符串;

第三个参数:要匹配查找的原始字符串;

第四个参数:可选参数,表示模式匹配后替换的最大次数,默认值为0,表示替换所有的匹配;

第五个参数:可选参数,标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等;

需要特别注意的是,这个方法并不是完全匹配。它仅仅决定在字符串开始的位置是否匹配。所以当pattern结束时若还有剩余字符,仍然视为成功。想要完全匹配,可以在表达式末尾加上边界匹配符'$'

例如: re.sub(‘z’, ‘1’, ‘p.python.p’)返回值为'p.python.p';  #失败返回原string

re.sub(‘p’, ‘1’, ‘p.python.p’)返回值为'1.1ython.1'   #成功返回新字符串

方法一:

对象名1 = re.sub(正则表达式,  要替换成为这个样子的字符串, 要匹配的原字符串)#!/usr/bin/python

# -*- coding: utf-8 -*-

import os,re;

pattern = r'1[^1269]\d{9}'

string = "win the gift number is 020-2123456 the 15075940766q"

tel = re.split(' ', string)

print("1:截取的手机号是:"+tel[7])

print("2:手机号的类型是:", type(tel[7]))

i = 0

str = ''

for place in tel[7]:

if i

str += place;

if ((i =3)):

str = str + '*';

i += 1

print("3:隐藏的手机号尾码是:"+str)

print("4:隐藏的手机号尾码类型是:", type(str))

result1 = re.sub(pattern, str, string)

#for i in result1:

#    print(i)

print("5:最终替换的结果是:", result1)

print("6:最终替换的结果类型是:", type(result1))

运行结果:1:截取的手机号是:15075940766q

2:手机号的类型是:

3:隐藏的手机号尾码是:150********

4:隐藏的手机号尾码类型是:

5:最终替换的结果是: win the gift number is 020-2123456 the 150********q

6:最终替换的结果类型是:

python 正则表达式 sub_Python 正则表达式:sub相关推荐

  1. python 正则表达式 sub_python 正则表达式 re.sub re.subn

    python正则表达式模块简介 Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式.Python 1.5之前版本则是通过 regex 模块提供 Emacs 风格的模式 ...

  2. python正则表达式_Python正则表达式简记和re库!

    正则表达式是定义搜索模式的字符序列.通常这种模式被字符串搜索算法用于字符串上的"查找"或"查找和替换"操作,或者用于输入验证. 1. 正则表达式的语法 . 表示 ...

  3. python中的正则表达式语法_Python基础教程之正则表达式基本语法以及re模块

    什么是正则: 正则表达式是可以匹配文本片段的模式. 正则表达式'Python'可以匹配'python' 正则是个很牛逼的东西,python中当然也不会缺少. 所以今天的Python就跟大家一起讨论一下 ...

  4. Python中re(正则表达式)模块函数学习

    2019独角兽企业重金招聘Python工程师标准>>> Python正则表达式指南 今天学习了Python中有关正则表达式的知识.关于正则表达式的语法,不作过多解释,网上有许多学习的 ...

  5. Python字符串和正则表达式中的反斜杠(‘\‘)问题

    在Python普通字符串中 在Python中,我们用''来转义某些普通字符,使其成为特殊字符,比如 In [1]: print('abc\ndef') # '\n'具有换行的作用 abc defgIn ...

  6. Python高级语法-正则表达式

    正则表达式在字符串匹配中起到巨大的作用. 简介 几个数据提取工具对比: re(正则表达式):速度很快,难度高(语法难记),不需要安装(python标准库内置) bs(BeautifulSoup):速度 ...

  7. python里面的正则表达式_Python中的正则表达式

    以下内容转自:http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html 1. 正则表达式基础 1.1. 简单介绍 正则表达式并不是Pyth ...

  8. [Python]网络爬虫(七):Python中的正则表达式教程(转)

    接下来准备用糗百做一个爬虫的小例子. 但是在这之前,先详细的整理一下Python中的正则表达式的相关内容. 正则表达式在Python爬虫中的作用就像是老师点名时用的花名册一样,是必不可少的神兵利器. ...

  9. [Python]网络爬虫(七):Python中的正则表达式教程

    接下来准备用糗百做一个爬虫的小例子. 但是在这之前,先详细的整理一下Python中的正则表达式的相关内容. 正则表达式在Python爬虫中的作用就像是老师点名时用的花名册一样,是必不可少的神兵利器. ...

  10. python中的正则表达式是干嘛的_python中正则表达式总结

    re.match():从字符串的开始进行匹配 re.search():扫描整个字符串返回第一个匹配 re.findAll():返回所有匹配的字符串 Pattern 对象不能实例化,只能通过compil ...

最新文章

  1. 树莓派开发7-Pi摄像头+mjpg-streamer
  2. c语言:输入两个正整数m和n,求其最大公约数和最小公倍数
  3. php用什么做缓存文件格式,怎么用php语言来做文件缓存
  4. leetcode416. Partition Equal Subset Sum
  5. linux由哪些部分组成,linux内核处于什么位置?,为你介绍一些Linux操作系统的基础知识(一)...
  6. ARM11---中断---向量中断控制器(VIC)---结合s3c6410
  7. Qt5.12安装错误提示:C:\Qt5.12.11\vcredist\vcredist_msvc2019_x86.exe /norestart /q
  8. Android可视化环境配置搭建方法
  9. prune研究记录(二)
  10. TAOCP中1.1习题1解答与思考
  11. 游戏对战平台研究终结篇
  12. 软件外包公司到底干啥的?要不要去外包公司?
  13. KTV 歌房如何实现伴奏与人声同步功能
  14. 自编码器(autoencoder)了解一下
  15. 目标检测yolo系列
  16. 【树莓派入门】从零开始在树莓派上运行YOLOV5项目实战教程
  17. html页面怎么加锚点,html页面添加锚点
  18. heidisql ssh mysql_heidisql使用小技巧
  19. 实现滚动轴承仿真信号
  20. 技术赋能教育实现OMO模式

热门文章

  1. c语言中puts的作用,c语言puts函数用法是什么?
  2. 基于Boost.Asio的异步编程
  3. 电脑分区后,电脑提醒没有权限在此位置保存文件怎么办?
  4. lg android tv遥控器,LG TV Remote遥控器
  5. windows磁盘管理压缩卷只能压缩一部分的问题解决办法
  6. 优化网站加快浏览器访问打开速度
  7. Longhorn,企业级云原生容器分布式存储 - 高可用
  8. Bitbucket 添加ssh密钥
  9. Oracle中user_tab_cols、user_tab_columns的差异
  10. 百度云破解不限速版(绿色免安装)