python正则表达式re.search()的基本使用教程


Posted in Python onMay 21, 2021

1 re.search() 的作用:

re.search会匹配整个字符串,并返回第一个成功的匹配。如果匹配失败,则返回None 

从源码里面可以看到re.search()方法里面有3个参数

python正则表达式re.search()的基本使用教程

pattern: 匹配的规则,

string : 要匹配的内容,

flags 标志位 这个是可选的,就是可以不写,可以写, 比如要忽略字符的大小写就可以使用标志位

flags 的主要内容如下

flags : 可选,表示匹配模式,比如忽略大小写,多行模式等,具体参数为:

  1. re.I 忽略大小写
  2. re.L 表示特殊字符集 \w, \W, \b, \B, \s, \S 依赖于当前环境
  3. re.M 多行模式
  4. re.S 即为 . 并且包括换行符在内的任意字符(. 不包括换行符)
  5. re.U 表示特殊字符集 \w, \W, \b, \B, \d, \D, \s, \S 依赖于 Unicode 字符属性数据库
  6. re.X 为了增加可读性,忽略空格和 # 后面的注释

2 demo 练习re.search() 的使用

 2.1  search 简单的匹配

import re
 
content = "abcabcabc"
rex = re.search("c", content)
print(rex)

打印结果如下

python正则表达式re.search()的基本使用教程

从内容我们可以看到span(2, 3) 这个应该是对应的下标,所以我们想获取匹配的下标可以使用span 

match 是匹配的内容, 内容为c

2.2 获取匹配的下标

import re
 
content = "abcabcabc"
rex = re.search("c", content)
print(rex.group())

打印结果如下

python正则表达式re.search()的基本使用教程

2.3 获取匹配的内容 ,使用group(匹配的整个表达式的字符串)

import re
 
content = "abcabcabc"
rex = re.search("c", content)
print(rex.group())

打印结果如下

python正则表达式re.search()的基本使用教程

注意group 和span 不能同时使用, 否则会报错

2.4 使用标志位忽略匹配的大小写

import re
 
content = "abcabcabc"
rex = re.search("C", content, re.I)
print(rex.group())

打印结果如下

python正则表达式re.search()的基本使用教程

这里使用大写字母C 忽略大小写之后也能匹配到c

2.5 使用search 匹配字符串里面的数组

import re
 
content = "abc123abc"
rex = re.search("\d+", content)
print(rex.group())

打印结果

python正则表达式re.search()的基本使用教程

2.6 search 结合compile 使用

import re
 
content = "abc123abc"
rex_content = re.compile("\d+")
rex = rex_content.search(content)
print(rex.group())

打印结果

python正则表达式re.search()的基本使用教程

2.7 group 的使用

import re
 
content = "abc123def"
rex_compile = re.compile("([a-z]*)([0-9]*)([a-z]*)")
rex = rex_compile.search(content)
print(rex.group())
print(rex.group(0))  # group()和group(0) 一样匹配的是整体
print(rex.group(1))  # 匹配第一个小括号的内容
print(rex.group(2))  # 匹配第二个小括号的内容
print(rex.group(3))  # 匹配第三个小括号的内容

打印结果

python正则表达式re.search()的基本使用教程

group() 小括号里面不止有数字,可以是自定的内容如下

content = "zhangsanfeng108le"
rex_compile = re.compile("(?P<name>[a-z]*)(?P<age>[0-9]*)")
rex_content = rex_compile.search(content)
print(rex_content.group())
print(rex_content.group("name"))  # 这里效果等同于group(1)
print(rex_content.group("age"))  # 这里效果等同于group(2)

打印结果如下 

python正则表达式re.search()的基本使用教程

总结

到此这篇关于python正则表达式re.search()基本使用的文章就介绍到这了,更多相关python正则表达式re.search()内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python 动态获取当前运行的类名和函数名的方法
Apr 15 Python
正确理解python中的关键字“with”与上下文管理器
Apr 21 Python
python列表list保留顺序去重的实例
Dec 14 Python
Python3爬虫之自动查询天气并实现语音播报
Feb 21 Python
python面向对象实现名片管理系统文件版
Apr 26 Python
Pandas中Series和DataFrame的索引实现
Jun 27 Python
python 使用socket传输图片视频等文件的实现方式
Aug 07 Python
Pycharm 2019 破解激活方法图文详解
Oct 11 Python
Python3 解决读取中文文件txt编码的问题
Dec 20 Python
Python3爬虫中Selenium的用法详解
Jul 10 Python
python制作一个简单的gui 数据库查询界面
Nov 19 Python
Python趣味挑战之用pygame实现简单的金币旋转效果
May 31 Python
pandas:get_dummies()与pd.factorize()的用法及区别说明
python spilt()分隔字符串的实现示例
教你用python实现一个无界面的小型图书管理系统
一篇文章带你搞懂Python类的相关知识
Python深度学习之Pytorch初步使用
我对PyTorch dataloader里的shuffle=True的理解
Python快速优雅的批量修改Word文档样式
You might like
自己动手做一个SQL解释器
2006/10/09 PHP
php4与php5的区别小结(配置异同)
2011/12/20 PHP
ThinkPHP 整合Bootstrap Ajax分页样式
2016/12/23 PHP
基于ThinkPHP5.0实现图片上传插件
2017/09/25 PHP
PHP微信网页授权的配置文件操作分析
2019/05/29 PHP
Laravel自定义 封装便捷返回Json数据格式的引用方法
2019/09/29 PHP
使用javascript访问XML数据的实例
2006/12/27 Javascript
完整显示当前日期和时间的JS代码
2007/09/17 Javascript
javascript中运用闭包和自执行函数解决大量的全局变量问题
2010/12/30 Javascript
JavaScript实现的in_array函数
2014/08/27 Javascript
14款经典网页图片和文字特效的jQuery插件-前端开发必备
2015/08/25 Javascript
jquery中cookie用法实例详解(获取,存储,删除等)
2016/01/04 Javascript
Javascript 高性能之递归,迭代,查表法详解及实例
2017/01/08 Javascript
详解AngularJS1.x学习directive 中‘&amp; ’‘=’ ‘@’符号的区别使用
2017/08/23 Javascript
Node.js中DNS模块学习总结
2018/02/28 Javascript
一个简单的node.js界面实现方法
2018/06/01 Javascript
ES6入门教程之Array.from()方法
2019/03/23 Javascript
vue scroll滚动判断的实现(是否滚动到底部、滚动方向、滚动节流、获取滚动区域dom元素)
2020/06/11 Javascript
[04:48]DOTA2上海特锦赛小组赛第三日 TOP10精彩集锦
2016/02/28 DOTA
[01:00:49]DOTA2-DPC中国联赛 正赛 Ehome vs iG BO3 第二场 1月31日
2021/03/11 DOTA
python实现数据图表
2017/07/29 Python
python中使用psutil查看内存占用的情况
2018/06/11 Python
django 将自带的数据库sqlite3改成mysql实例
2020/07/09 Python
详解python中的异常和文件读写
2021/01/03 Python
基础的CSS3弹性盒Flexbox布局使用实例
2016/04/08 HTML / CSS
美国运动鞋和运动服零售商:Footaction
2017/04/07 全球购物
Elizabeth Gage官网:英国最好的珠宝设计之一
2020/09/26 全球购物
会计毕业生求职简历的自我评价
2013/10/20 职场文书
职业技术学校毕业生推荐信
2013/12/03 职场文书
银行职员个人的工作自我评价
2014/02/15 职场文书
报关专员求职信范文
2014/02/22 职场文书
小学语文国培感言
2014/03/04 职场文书
财务工作检讨书
2014/10/29 职场文书
大队委员竞选演讲稿
2015/11/20 职场文书
《月光曲》教学反思
2016/02/16 职场文书
AJAX实现省市县三级联动效果
2021/10/16 Javascript