python五十七课——正则表达式(多个字符)
2024-09-03 11:33:42
演示匹配多个字符:
以下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))
返回目录
最新文章
- WinForm设置控件焦点focus
- PHP指定字段的多维数组排序方法
- 控制台(Console)报错:java.io.IOException: Broken pipe
- BibTex参考文献制作
- Query classification; understanding user intent
- hadoop笔记之Hive的数据存储(视图)
- python自动化Traceback (most recent call last):报错
- parseSdkContent failed 解决方案
- 从浏览器多进程到JS单线程,JS运行机制的一次系统梳理
- Arduino—运算符
- Python 输出格式符号
- Msf的一些常用操作
- NPOI学习笔记
- MSDN离线版 发现不少人都在找这个
- Vue-router路由判断页面未登录跳转到登录页面
- Java并发(一)-了解线程安全
- 使用flex布局调换两个按钮的位置
- 大数据相关的面试题(摘自网络)hbase,kafka,spark
- GO语言(七)多核并行化的问题
- BZOJ4568:[SCOI2016]幸运数字——题解