演示匹配多个字符:
以下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))

返回目录

最新文章

  1. WinForm设置控件焦点focus
  2. PHP指定字段的多维数组排序方法
  3. 控制台(Console)报错:java.io.IOException: Broken pipe
  4. BibTex参考文献制作
  5. Query classification; understanding user intent
  6. hadoop笔记之Hive的数据存储(视图)
  7. python自动化Traceback (most recent call last):报错
  8. parseSdkContent failed 解决方案
  9. 从浏览器多进程到JS单线程,JS运行机制的一次系统梳理
  10. Arduino—运算符
  11. Python 输出格式符号
  12. Msf的一些常用操作
  13. NPOI学习笔记
  14. MSDN离线版 发现不少人都在找这个
  15. Vue-router路由判断页面未登录跳转到登录页面
  16. Java并发(一)-了解线程安全
  17. 使用flex布局调换两个按钮的位置
  18. 大数据相关的面试题(摘自网络)hbase,kafka,spark
  19. GO语言(七)多核并行化的问题
  20. BZOJ4568:[SCOI2016]幸运数字——题解

热门文章

  1. Tomcat8源码笔记(四)Server和Service初始化
  2. .net敏捷开发框架 力软(learun) 让开发变的更简单
  3. C# 字符串拼接性能探索
  4. flume中的拦截器
  5. Matlab function lorenzgui
  6. 聊聊大麦网UWP版的首页顶部图片联动效果的实现方法
  7. js判断数据类型的四种方法
  8. 理解微信小程序Wepy框架的三个事件交互$broadcast,$emit,$invoke
  9. CSS&JS两种方式实现手风琴式折叠菜单
  10. php服务器代理解决浏览器跨越问题