python五十七课——正则表达式(多个字符)
演示匹配多个字符:
以下x、y、n都是变量名:
分类:
1).模糊匹配: x?:表示0个或者1个 取值范围:[0,1]
x+:表示1个或者多个 取值范围:[1,无穷大)
x*:表示0个或者多个 取值范围:[0,无穷大)
【注意】
以上三种符号(?、+、*)都满足贪婪匹配的特点,
意味着在匹配的前提下,尽可能多的返回数据
思考:如果取消贪婪行为? --> 达到的效果就是在匹配的前提下,尽可能少的返回数据
代码体现:在正则的最后显示的定义一个?即可
2).精确匹配:
n{x}:n匹配x次
n{x,}:n最少有x次,最多无穷大 范围:[x,无穷大)
n{x,y}:n最少有x次,最多有y次 范围:[x,y]
import re
str1='bbbbbbbbbbbcccbbbb'
print(re.search(r'b?',str1).group())
print(re.search(r'b??',str1).group())
print(re.search(r'b+',str1).group())
print(re.search(r'b+?',str1).group())
print(re.findall(r'b?',str1))
print(re.findall(r'b?',str1))
print(re.findall(r'b+',str1))
print(re.findall(r'b+?',str1))
print(re.findall(r'b*',str1))
print(re.findall(r'b*?',str1)) #需求:尝试匹配内容:hank ... man
str1='hank is a good man hank is a nice man hank is a cool man'
regex=r'hank.*man'
# regex=r'hank.*?man'
lt=re.findall(regex,str1)
print(lt)
print(re.search(regex,str1).group())
print('实现精准匹配...') str1='aaaabbbaaaaaaaaaaaa'
print(re.findall(r'a{3}',str1))
print(re.findall(r'a{3,}',str1))
print(re.findall(r'a{3,}?',str1))
print(re.findall(r'a{6,8}',str1))
print(re.findall(r'a{6,8}?',str1))
返回目录
python五十七课——正则表达式(多个字符)的更多相关文章
- python五十七课——正则表达式(边界字符)
演示匹配锚字符(边界字符)^:从字符串头部开始匹配,在开启多行模式下(re.M),可以尝试匹配每一行的头部数据$:从字符串尾部开始匹配,在开启多行模式下(re.M),可以尝试匹配每一行的尾部数据A:从 ...
- python五十七课——正则表达式(元字符)
1).匹配单个字符(数字.英文.其它) 符号位: []:表示一个字符位 [0123456789]:表示一位,取值范围:[0,9]之间的任何一个值 [0-9]:表示一位,取值范围:[0,9]之间的任何一 ...
- python六十七课——网络编程(基础知识了解)
网络编程: 什么是网络编程? 网络:它是一种隐形的媒介:可以将多台计算机使用(将它们连接到一起) 网络编程:将多台计算机之间可以相互通信了(做数据交互) 一旦涉及到网络编程,划分为两个方向存在,一方我 ...
- JAVA学习第五十七课 — IO流(十一)
一.管道流 PipedInputStream 和 PipedOutPutStream 输入和输出能够直接进行连接.结合线程使用 管道流,顾名思义,写一个读一个.连成一个管子 API文档:管道输入流应该 ...
- python第二十七课——os模块
演示os模块中常用的属性和函数: 1.os模块: 作用:管理文件和目录 属性: os.name:返回系统类型 常用的windows系统 --> nt os.environ:返回当前系统所有的环境 ...
- python第十七课——列表生成式
1.列表生成式: 什么是列表生成式? 它就是一串表达式,专门用于生成列表对象,当中包含一系列的业务逻辑: 结构:简介.优雅.阅读性好:比传统获取列表对象来的更加的方便: 它是语法糖的一种: 什么是语法 ...
- Python学习第五堂课
Python学习第五堂课推荐电影:华尔街之狼 被拯救的姜哥 阿甘正传 辛德勒的名单 肖申克的救赎 上帝之城 焦土之城 绝美之城 #上节内容: 变量 if else 注释 # ""& ...
- 第三百五十七节,Python分布式爬虫打造搜索引擎Scrapy精讲—利用开源的scrapy-redis编写分布式爬虫代码
第三百五十七节,Python分布式爬虫打造搜索引擎Scrapy精讲—利用开源的scrapy-redis编写分布式爬虫代码 scrapy-redis是一个可以scrapy结合redis搭建分布式爬虫的开 ...
- 孤荷凌寒自学python第五十七天初次尝试使用python来连接远端MongoDb数据库
孤荷凌寒自学python第五十七天初次尝试使用python来连接远端MongoDb数据库 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第三天.感觉这个东西学习起来还是那么困 ...
随机推荐
- Failed to convert value of type 'java.lang.String' to required type 'java.time.LocalDate';
springboot jdbc查询使用LocalDate报:Failed to convert value of type 'java.lang.String' to required type 'j ...
- [转]window7下利用DockerToolbox安装Docker
本文转自:https://blog.csdn.net/qq2712193/article/details/54576313 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blo ...
- Java学习笔记之——switch-case条件结构
语法: switch(变量){ case 常量1: 执行语句: break: case 常量2: 执行语句: break: case 常量3: 执行语句: break: ………… default: 语 ...
- 【Tomcat】性能优化
一.JVM优化 1.内存优化. 2.垃圾回收策略优化. 二.server.xml的connector优化(connector是与HTTP请求处理相关的容器,三个容器的初始化顺序为:Server-> ...
- [转] Mac下 快速写博客的软件 MarsEdit
正文 marsedit最好. 这东西还是收费的,这里, 我给个注册码: Name: The Blade SN: RSME3-DA4KUN-3EL6Y-MXD2X-LYMT9-6KGX8-4 ~~~~~ ...
- Java String的简单介绍
一.String类的构造方法(先粗略介绍三种 分别是s1,s2,s3) 二.String的常用判断方法 三.String类的常用获取方法 三.Sting的常用转换方法 四.String其他功能 五 ...
- Python 字符编码简记
名称 说明 ASCII 只能存英文和拉丁字符,一个字符占一个字节,8位. ASCII 码是不支持中文的,支持中文的第一张表是 GB2312 GB2312 支持中文,收录了 7445个字符 GBK1.0 ...
- 2018-01-15 Antlr4: 修改语法规则更接近普通BNF格式
经 @沈默 在上文Antlr4添加中文变量赋求值,括号,各种问题评论中指出, 语法规则描述依赖于Antlr4生成的语法分析器的默认分析方法, 比如运算符的左联系, 以及优先级处理等等. 于是将语法修改 ...
- 【读书笔记】iOS-Nib的一些知识
Apple在Xcode4.2中推出用于iOS应用故事版概念. 标识:Identity(标识)检查器最常用于为用户界面元素或者控制器分配一个自定义类. 属性:Attributes(属性)检查器在微调用户 ...
- python之线程相关操作(补充)
1 线程的其他方法 import threading import time from threading import Thread, current_thread def f1(n): time. ...