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 内置字符串处理函数的使用方法
Jun 11 Python
编写Python脚本抓取网络小说来制作自己的阅读器
Aug 20 Python
Python文本特征抽取与向量化算法学习
Dec 22 Python
Python实现读取及写入csv文件的方法示例
Jan 12 Python
儿童编程python入门
May 08 Python
python3+PyQt5 数据库编程--增删改实例
Jun 17 Python
pytorch: Parameter 的数据结构实例
Dec 31 Python
Python opencv相机标定实现原理及步骤详解
Apr 09 Python
matlab中二维插值函数interp2的使用详解
Apr 22 Python
matlab、python中矩阵的互相导入导出方式
Jun 01 Python
通过自学python能找到工作吗
Jun 21 Python
Django如何与Ajax交互
Apr 29 Python
pandas:get_dummies()与pd.factorize()的用法及区别说明
python spilt()分隔字符串的实现示例
教你用python实现一个无界面的小型图书管理系统
一篇文章带你搞懂Python类的相关知识
Python深度学习之Pytorch初步使用
我对PyTorch dataloader里的shuffle=True的理解
Python快速优雅的批量修改Word文档样式
You might like
php中ob(Output Buffer 输出缓冲)函数使用方法
2007/07/21 PHP
php 无限分类的树类代码
2009/12/03 PHP
php smarty模版引擎中变量操作符及使用方法
2009/12/11 PHP
PHP开发中常用的三个表单验证函数使用小结
2010/03/03 PHP
分享3个php获取日历的函数
2015/09/25 PHP
Symfony2联合查询实现方法
2016/03/18 PHP
php中照片旋转 (orientation) 问题的正确处理
2017/02/16 PHP
Prototype源码浅析 String部分(一)之有关indexOf优化
2012/01/15 Javascript
浮动的div自适应居中显示的js代码
2013/12/23 Javascript
javascript arguments使用示例
2014/12/16 Javascript
AngularJS改变元素显示状态
2017/04/20 Javascript
使用bootstraptable插件实现表格记录的查询、分页、排序操作
2017/08/06 Javascript
Bootstrap popover 实现鼠标移入移除显示隐藏功能方法
2018/01/24 Javascript
react 创建单例组件的方法
2018/04/26 Javascript
解决vue this.$forceUpdate() 处理页面刷新问题(v-for循环值刷新等)
2018/07/26 Javascript
详解vue-cli+element-ui树形表格(多级表格折腾小计)
2019/04/17 Javascript
VUE+node(express)实现前后端分离
2019/10/13 Javascript
python通过urllib2获取带有中文参数url内容的方法
2015/03/13 Python
python中assert用法实例分析
2015/04/30 Python
pygame实现俄罗斯方块游戏
2018/06/26 Python
Python使用Selenium模块实现模拟浏览器抓取淘宝商品美食信息功能示例
2018/07/18 Python
Python读取stdin方法实例
2019/05/24 Python
win8.1安装Python 2.7版环境图文详解
2019/07/01 Python
python global关键字的用法详解
2019/09/05 Python
python处理document文档保留原样式
2019/09/23 Python
解决Pytorch 加载训练好的模型 遇到的error问题
2020/01/10 Python
python读取图片的几种方式及图像宽和高的存储顺序
2020/02/11 Python
使用Tkinter制作信息提示框
2020/02/18 Python
英国家具、照明、家居用品网上商店:Wayfair.co.uk
2020/02/13 全球购物
仓库管理专业个人的自我评价
2013/12/30 职场文书
犯错检讨书
2014/02/21 职场文书
新法人代表任命书
2014/06/06 职场文书
公司股东出资证明书
2014/11/01 职场文书
大学生干部培训心得体会
2016/01/06 职场文书
创业者如何撰写出一份打动投资人的商业计划书?
2019/07/02 职场文书
100句人生哲理语录集锦:强者征服今天,懒汉坐等明天
2019/10/18 职场文书