re模块
时间:2019-06-12
本文章向大家介绍re模块,主要包括re模块使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
# encoding:utf8 import re # findall方法,查找全部匹配到的结果 s = 'abcabbca3c' print(re.findall('ab', s)) # 结果为:['ab', 'ab'] # . 单个字符 s = 'abcabbca3c' print(re.findall('a.c', s)) # 结果为:['abc', 'a3c'] # ?前面一个字符匹配0或1次 s = '2acbabcabbacc' print(re.findall('ab?', s)) # 结果为:['a', 'ab', 'ab', 'a'] # + 前面一个字符匹配1~+∞次 s = '2acbabcabbacc' print(re.findall('ab+', s)) # 结果为:['ab', 'abb'] # * 前面一个字符匹配0~+∞次 s = '2acbabcabbacc' print(re.findall('ab*', s)) # 结果为:['a', 'ab', 'abb', 'a'] # ^ 以^后面的字符串开头,精准匹配 s = 'acbabcacbbacc' print(re.findall('^acb', s)) # 结果为:['acb'] print(re.findall('^abc', s)) # 结果为:[] # $ 以$前面的字符串开头,精准匹配 s = 'acbabcacbbacc' print(re.findall('acc$', s)) # 结果为:['acc'] print(re.findall('abc$', s)) # 结果为:[] # {} 指定匹配次数。{3}前面的字符匹配3次;{1,}同+,前面的字符匹配1~+∞次;{1,3}前面的字符匹配1-3次 s = '2aabcabbacabbbc' print(re.findall('ab{2}', s)) # 结果为:['abb', 'abb'] print(re.findall('ab{1,}', s)) # 结果为:['ab', 'abb', 'abbb'] print(re.findall('ab{2,3}', s)) # 结果为:['abb', 'abbb'] # () 吧()内的字符串作为整体。优先完全匹配;可通过?:来全部匹配 s = '2aabcabbacabbbc' print(re.findall('(ab)*', s)) # 匹配0到多次,结果为:['', '', 'ab', '', 'ab', '', '', '', 'ab', '', '', '', ''] print(re.findall('(ab)+', s)) # 匹配1到多次,结果为:['ab', 'ab', 'ab'] s = 'abcababcababab' print(re.findall('(ab)', s)) # 整体匹配,结果为:['ab', 'ab', 'ab', 'ab', 'ab', 'ab'] print(re.findall('(?:ab)+', s)) # 整体全部匹配,结果为:['ab', 'abab', 'ababab'] print(re.findall('(?:ab)+', 'abababab')) # 整体全部匹配, 结果为:['abababab'] print(re.findall('(ab)+', 'abababab')) # 整体完全匹配,结果为:['ab'] # | 吧|左右的字符串作为整体匹配,若匹配成功左侧,则不再匹配右侧 s = 'abcdacd' print(re.findall('abc|cd', s)) # 优先匹配左侧,结果为['abc', 'cd'] print(re.findall('ab|cd', s)) # 结果为['ab', 'cd'] print(re.findall('abc|abcd', 'abcdabc')) # 优先匹配左侧,结果是['abc','abc'] # [] 吧[]内的字符集单独匹配,[]内的字符均当做普通字符处理;^表示不含 s = 'abcdabdacdbad' print(re.findall('a[bc]d', s)) # 结果是['abd', 'acd'] print(re.findall('a[b*]d', 'abcabdacca*da')) # 结果是['abd', 'a*d'] # 在[]内写^表示不包含字符 print(re.findall('a[^cb]d', 'aedacdahdabdasd')) # 结果是['aed', 'ahd', 'asd'] print(re.findall('a[^a-z]c', 'asa2a3c4c')) # 结果是['a3c'] print(re.findall('\([^()]+\)', '1+7-(3*(6-2)-4)')) # 提取最里面的括号和内容,结果是['(6-2)'] # 查找特殊字符例如*+().等,需要转义,使用\或者r'待查找字符串' print(re.findall('www.baidu', 'www.163www.baidu.comwwwabaidu')) # 结果是['www.baidu', 'wwwabaidu'],会默认.为一个字符 print(re.findall('www\.baidu', 'www.163www.baidu.com')) # 结果是['www.baidu'] print(re.findall(r'www.baidu', 'www.163www.baidu.com')) # 结果是['www.baidu'] # 在[]内写范围,比如0-9,比如a-z print(re.findall('a[1-3]c', 'abca1caesa3cas')) # 结果是['a1c', 'a3c'] print(re.findall('a[1-3a-zA-Z]c', 'abca1caDsascaFc')) # 结果是['abc', 'a1c', 'asc', 'aFc'] # 特殊字符 \d 表示[0-9],\D表示除去前面的范围剩下的 print(re.findall('\d', 'ab123c.d32a+"3452d')) # 结果是['1', '2', '3', '3', '2', '3', '4', '5', '2'] print(re.findall('\d+', 'ab123c.d32a+"3452d')) # 结果是['123', '32', '3452'] print(re.findall('\D', 'ab123c.d32a+"3452d')) # 结果是['a', 'b', 'c', '.', 'd', 'a', '+', '"', 'd'] print(re.findall('\D+', 'ab123c.d32a+"3452d')) # 结果是['ab', 'c.d', 'a+"', 'd'] # 特殊字符 \w表示[0-9a-zA-Z_]以及中文,\W表示除去前面范围剩下的 print(re.findall('\w+', 'ab12我3_c.d3是2a+"34_52d')) # 结果是['ab12我3_c', 'd3是2a', '34_52d'] print(re.findall('\W+', 'ab12我3_c.d3是2a+"34_52d')) # 结果是['.', '+"']
原文地址:https://www.cnblogs.com/wjlv/p/11011088.html
- 当我们讨论流畅度的时候,我们究竟在说什么?
- ImageButton和ZoomButton使用大全
- Android 插件化突破应用市场无法上广告的问题
- ImageView的属性和方法大全
- sharedpreferences如何保存对象
- Android:全面解析熟悉而陌生 的 Application 类使用
- ToggleButton和Switch使用大全
- Android 无需权限显示悬浮窗, 兼谈逆向分析 App
- android数据保存之greendao
- CheckBox和RadioButton使用大全
- 关于 Android 实现滑动返回的几种方法总结
- android 面试之listview
- 放yy直播点赞动画
- TableLayout和Viewpager实现切换
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 1小时实战入门小程序开发,历史上的今天案例讲解
- 小程序实现全屏幕高斯模糊背景图
- 小程序顶部导航栏,可滑动,可动态选中放大
- 小程序不同页面的异步回调,callback和promise的使用讲解
- java入门019~springboot批量导入excel数据到mysql
- Java点餐系统和点餐小程序新加微信消息推送功能
- Java点餐系统和点餐小程序新加排号等位功能
- IDEA上给文件添加姓名,日期,版本号
- matlab机器人工具箱安装与卸载
- 浅谈Linux下修改/设置环境变量JAVA_HOME的方法
- Linux服务器配置多个svn仓库流程详解
- linux服务器显卡崩溃解决方案
- LINUX查看进程的4种方法(小结)
- Linux下的多线程编程实例解析
- CentOS使用expect批量远程执行脚本和命令