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实现批量下载文件
May 17 Python
Python聚类算法之DBSACN实例分析
Nov 20 Python
python自动裁剪图像代码分享
Nov 25 Python
python 实现分页显示从es中获取的数据方法
Dec 26 Python
Python学习笔记之图片人脸检测识别实例教程
Mar 06 Python
Python箱型图绘制与特征值获取过程解析
Oct 22 Python
TensorFlow设置日志级别的几种方式小结
Feb 04 Python
python GUI库图形界面开发之PyQt5状态栏控件QStatusBar详细使用方法实例
Feb 28 Python
python3.6.8 + pycharm + PyQt5 环境搭建的图文教程
Jun 11 Python
scrapy框架携带cookie访问淘宝购物车功能的实现代码
Jul 07 Python
django template实现定义临时变量,自定义赋值、自增实例
Jul 12 Python
Jmeter HTTPS接口测试证书导入过程图解
Jul 22 Python
pandas:get_dummies()与pd.factorize()的用法及区别说明
python spilt()分隔字符串的实现示例
教你用python实现一个无界面的小型图书管理系统
一篇文章带你搞懂Python类的相关知识
Python深度学习之Pytorch初步使用
我对PyTorch dataloader里的shuffle=True的理解
Python快速优雅的批量修改Word文档样式
You might like
php 图像函数大举例(非原创)
2009/06/20 PHP
PHP设计模式 注册表模式(多个类的注册)
2012/02/05 PHP
PHP获取浏览器信息类和客户端地理位置的2个方法
2014/04/24 PHP
ThinkPHP3.1新特性之命名范围的使用
2014/06/19 PHP
详解AngularJS中的filter过滤器用法
2016/01/04 Javascript
手机软键盘弹出时影响布局的解决方法
2016/12/15 Javascript
ES6新增的math,Number方法
2017/08/06 Javascript
javascript 作用于作用域链的详解
2017/09/27 Javascript
Angular整合zTree的示例代码
2018/01/24 Javascript
Vue SSR 组件加载问题
2018/05/02 Javascript
vue-自定义组件传值的实例讲解
2018/09/18 Javascript
微信小程序之事件交互操作实例分析
2018/12/03 Javascript
从组件封装看Vue的作用域插槽的实现
2019/02/12 Javascript
解决antd 表单设置默认值initialValue后验证失效的问题
2020/11/02 Javascript
linux系统使用python监控apache服务器进程脚本分享
2014/01/15 Python
Python注释详解
2016/06/01 Python
python实现textrank关键词提取
2018/06/22 Python
Python 利用内置set函数对字符串和列表进行去重的方法
2018/06/29 Python
对Python 窗体(tkinter)树状数据(Treeview)详解
2018/10/11 Python
使用PyCharm创建Django项目及基本配置详解
2018/10/24 Python
Python 微信之获取好友昵称并制作wordcloud的实例
2019/02/21 Python
python删除列表元素的三种方法(remove,pop,del)
2019/07/22 Python
pycharm sciview的图片另存为操作
2020/06/01 Python
Bobbi Brown芭比波朗美国官网:化妆师专业彩妆保养品品牌
2016/08/18 全球购物
精致的手工皮鞋:Shoe Embassy
2019/11/08 全球购物
什么是GWT的Entry Point
2013/08/16 面试题
Java面试题:Java类的Main方法如果是Private将会怎么样
2016/08/18 面试题
年终自我鉴定
2013/10/09 职场文书
土木工程应届生求职信
2013/10/31 职场文书
差生评语大全
2014/05/04 职场文书
实习生个人总结范文
2015/02/28 职场文书
2015年幼儿园班务工作总结
2015/05/12 职场文书
三八妇女节致辞
2015/07/31 职场文书
采购部年度工作总结
2015/08/13 职场文书
高二英语教学反思
2016/03/03 职场文书
MySQL外键约束(FOREIGN KEY)案例讲解
2021/08/23 MySQL