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实现一个简单的项目监控
Mar 31 Python
Python读取txt内容写入xls格式excel中的方法
Oct 11 Python
对pandas读取中文unicode的csv和添加行标题的方法详解
Dec 12 Python
对python requests发送json格式数据的实例详解
Dec 19 Python
python读取有密码的zip压缩文件实例
Feb 08 Python
Python3分析处理声音数据的例子
Aug 27 Python
Python处理session的方法整理
Aug 29 Python
Python基于pandas绘制散点图矩阵代码实例
Jun 04 Python
Python turtle库的画笔控制说明
Jun 28 Python
python re的findall和finditer的区别详解
Nov 15 Python
python实现企业微信定时发送文本消息的实例代码
Nov 25 Python
python的dict判断key是否存在的方法
Dec 09 Python
pandas:get_dummies()与pd.factorize()的用法及区别说明
python spilt()分隔字符串的实现示例
教你用python实现一个无界面的小型图书管理系统
一篇文章带你搞懂Python类的相关知识
Python深度学习之Pytorch初步使用
我对PyTorch dataloader里的shuffle=True的理解
Python快速优雅的批量修改Word文档样式
You might like
Windows下的PHP 5.3.x安装 Zend Guard Loader教程
2014/09/06 PHP
php使用sql server验证连接数据库的方法
2014/12/25 PHP
javaScript - 如何引入js代码
2021/03/09 Javascript
js/jquery获取文本框输入焦点的方法
2014/03/04 Javascript
JavaScript基础篇(6)之函数表达式闭包
2015/12/11 Javascript
JS 数字转换为大写金额的简单实例
2016/08/04 Javascript
AngularJS 单元测试(二)详解
2016/09/21 Javascript
微信小程序 支付功能实现PHP实例详解
2017/05/12 Javascript
Vue2.0如何发布项目实战
2017/07/27 Javascript
如何重置vue打印变量的显示方式
2017/12/06 Javascript
浅谈Vue.js组件(二)
2019/04/09 Javascript
小白教程|一小时上手最流行的前端框架vue(推荐)
2019/04/10 Javascript
element-ui 本地化使用教程详解
2019/10/28 Javascript
jquery实现轮播图特效
2020/04/12 jQuery
[02:55]含熏伴清风,风行者至宝、屠夫身心及典藏宝瓶二展示
2020/09/08 DOTA
python k-近邻算法实例分享
2014/06/11 Python
Python性能优化技巧
2015/03/09 Python
深入理解NumPy简明教程---数组1
2016/12/17 Python
Python学习小技巧之列表项的推导式与过滤操作
2017/05/20 Python
Python Numpy计算各类距离的方法
2019/07/05 Python
Django ORM 常用字段与不常用字段汇总
2019/08/09 Python
python实现实时视频流播放代码实例
2020/01/11 Python
python如何使用代码运行助手
2020/07/03 Python
详解python metaclass(元类)
2020/08/13 Python
Sofmap官网:日本著名的数码电器专卖店
2017/05/19 全球购物
ECCO英国官网:丹麦鞋履品牌
2019/09/03 全球购物
荷兰家电销售网站:Welhof
2020/12/08 全球购物
JSF如何进行表格处理及取值
2012/08/06 面试题
大二法英学生职业生涯规划范文
2014/02/27 职场文书
2014年社会实践活动总结范文
2014/04/29 职场文书
节电标语大全
2014/06/23 职场文书
工作失误检讨书(经典集锦版)
2014/10/17 职场文书
使用numpy nonzero 找出非0元素
2021/05/14 Python
JavaScript小技巧带你提升你的代码技能
2021/09/15 Javascript
如何利用golang运用mysql数据库
2022/03/13 Golang
nginx rewrite功能使用场景分析
2022/05/30 Servers