当前位置: 首页 > news >正文

【Python学习】Python学习21- 正则表达式(1)

主图==========

目录

【Python学习】Python学习21- 正则表达式(1)

  • 前言
  • re.match函数
    • 实例
  • re.search方法
  • re.match与re.search的区别
  • 参考


文章所属专区 Python学习


前言

本章节主要说明Python的正则表达式。
正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。

re.match函数

re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match() 就返回 none。
语法:

re.match(pattern, string, flags=0)

参数说明:
在这里插入图片描述
正则表达式可选标志
在这里插入图片描述

实例

#!/usr/bin/python
import reline = "Cats are smarter than dogs"matchObj = re.match( r'(.*) are (.*?) .*', line, re.M|re.I)if matchObj:print "matchObj.group() : ", matchObj.group()print "matchObj.group(1) : ", matchObj.group(1)print "matchObj.group(2) : ", matchObj.group(2)
else:print "No match!!"

多行匹配,大小写不敏感,“”are“”的语句

re.search方法

re.search 扫描整个字符串并返回第一个成功的匹配。
语法:
re.search(pattern, string, flags=0)
参数说明:
在这里插入图片描述
实例:

#!/usr/bin/python
import reline = "Cats are smarter than dogs";searchObj = re.search( r'(.*) are (.*?) .*', line, re.M|re.I)if searchObj:print "searchObj.group() : ", searchObj.group()print "searchObj.group(1) : ", searchObj.group(1)print "searchObj.group(2) : ", searchObj.group(2)
else:print "Nothing found!!"

在这里插入图片描述

re.match与re.search的区别

re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None;而re.search匹配整个字符串,直到找到一个匹配。

#!/usr/bin/python
import reline = "Cats are smarter than dogs";matchObj = re.match( r'dogs', line, re.M|re.I)
if matchObj:print "match --> matchObj.group() : ", matchObj.group()
else:print "No match!!"matchObj = re.search( r'dogs', line, re.M|re.I)
if matchObj:print "search --> searchObj.group() : ", matchObj.group()
else:print "No match!!"

返回:
No match!! #match在字符串开始没有匹配到字符 返回false
search --> searchObj.group() : dogs #search在整个字符串匹配到了字符,返回true

参考

菜鸟教程-Python

给个三连吧 谢谢谢谢谢谢了
在这里插入图片描述

相关文章:

  • Spark SQL函数定义
  • Day29- 贪心算法part03
  • 系统架构13 - 软件工程(1)
  • 第二章 使用 SQL Search
  • 使用docker配置semantic slam
  • Python ddddocr 构建 exe 程序后运行报错:Failed Load model ... common_old.onnx
  • Mac M1 Parallels CentOS7.9 Deploy Typecho
  • 考研C语言刷编程题篇之分支循环结构基础篇(一)
  • 从零开始c++精讲:第三篇——内存管理
  • 计算机毕业设计选题分享-ssm租房小程序42196(赠送源码数据库)JAVA、PHP,node.js,C++、python,大屏数据可视化等
  • esp32-c-简单应用笔记
  • python-基础篇-函数
  • 「实战应用」如何用DHTMLX Gantt构建类似JIRA式的项目路线图(二)
  • 软件测试|使用matplotlib绘制箱型图
  • SpringSecurity(07)——JWT整合
  • 【vuex入门系列02】mutation接收单个参数和多个参数
  • crontab执行失败的多种原因
  • Django 博客开发教程 16 - 统计文章阅读量
  • Next.js之基础概念(二)
  • SAP云平台运行环境Cloud Foundry和Neo的区别
  • scala基础语法(二)
  • scrapy学习之路4(itemloder的使用)
  • vue-cli在webpack的配置文件探究
  • 阿里云爬虫风险管理产品商业化,为云端流量保驾护航
  • 使用Gradle第一次构建Java程序
  • 微信端页面使用-webkit-box和绝对定位时,元素上移的问题
  • 线性表及其算法(java实现)
  • 小程序上传图片到七牛云(支持多张上传,预览,删除)
  • 小李飞刀:SQL题目刷起来!
  • 原创:新手布局福音!微信小程序使用flex的一些基础样式属性(一)
  • MyCAT水平分库
  • Nginx惊现漏洞 百万网站面临“拖库”风险
  • ​2021半年盘点,不想你错过的重磅新书
  • #define用法
  • (1)SpringCloud 整合Python
  • (16)UiBot:智能化软件机器人(以头歌抓取课程数据为例)
  • (webRTC、RecordRTC):navigator.mediaDevices undefined
  • (二)基于wpr_simulation 的Ros机器人运动控制,gazebo仿真
  • (二)正点原子I.MX6ULL u-boot移植
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (排序详解之 堆排序)
  • (数据结构)顺序表的定义
  • (转)IOS中获取各种文件的目录路径的方法
  • (转)iOS字体
  • (转)Java socket中关闭IO流后,发生什么事?(以关闭输出流为例) .
  • (转载)深入super,看Python如何解决钻石继承难题
  • ***原理与防范
  • .cfg\.dat\.mak(持续补充)
  • .net core 微服务_.NET Core 3.0中用 Code-First 方式创建 gRPC 服务与客户端
  • .NET MVC第三章、三种传值方式
  • .NET实现之(自动更新)
  • /dev下添加设备节点的方法步骤(通过device_create)
  • /etc/motd and /etc/issue
  • @param注解什么意思_9000字,通俗易懂的讲解下Java注解
  • @synthesize和@dynamic分别有什么作用?