python五十六课——正则表达式(常用函数之match)
函数:match(regex,string,[flags=0])
参数:
regex:就是正则表达式(定义了一套验证规则)
string:需要被验证的字符串数据
flags:模式/标志位,默认情况下(不定义) --> 不开启任何的模式
功能:
从头开始尝试匹配字符串数据(注意:如果开头就不匹配直接返回None值),
如果匹配成功,那么就会返回一个match对象;
如果匹配不成功,那么就会返回None值
flags的取值:
re.I:忽然大小写
match对象有5个常用的函数:
group():返回匹配成功的数据(原串中的某子串数据)
start():返回匹配成功的数据的起始索引
end():返回匹配成功的数据的结束索引
span():返回一个元祖对象,有两个元素组成;
第一个元素记录了匹配成功的起始索引
第二个元素记录了匹配成功的结束索引
groups():返回所有子组的信息,以元祖的形式返回;如果没有分组,返回空元祖对象
【注意事项】:
1).正则表达式返回的索引值需要满足含头不含尾的特点
2).正则表达式验证的数据内容严格区分大小写
3).我们之后在定义正则规则的时候,在引号前面+一个r,无脑操作...
import re
matchobj=re.match(r'www','www.baidu.com')
print(matchobj,type(matchobj)) print(re.match(r'www','www.sina.com'))
print(re.match(r'www','www.sina.com').group())
print(re.match(r'www','www.sina.com').start())
print(re.match(r'www','www.sina.com').end())
print(re.match(r'www','www.sina.com').span())
print(re.match(r'www','www.sina.com').groups())
print(re.match(r'WWW','www.sina.com'))
print(re.match(r'WWW','www.sina.com',flags=re.I)) '''
使用第二种方式实现正则对数据的验证:
compile(regex,[flags=0]):返回一个Pattern对象(认为:它内部已经封装了一套regex和flags)
可以再通过Pattern对象继续调用match函数(此时只需要传递一个参数:string即可)
注意:
以上函数中涉及的参数:regex、flags、string和re.match中的参数一样理解
'''
pat=re.compile(r'www',flags=re.I)
print(pat,type(pat))
print(pat.match('wWw.baidu.com'))
返回目录
python五十六课——正则表达式(常用函数之match)的更多相关文章
- python五十六课——正则表达式(常用函数之search())
函数:search(regex,string,[flags=0]):参数:和match一样理解功能:从头开始匹配字符串中的数据,如果头不匹配继续往后尝试匹配,直到有第一个匹配成功的子数据,立即返回一个 ...
- python五十六课——正则表达式(常用函数之findall)
4).函数:findall(regex,string,[flags=0]): 参数: 和match.search一样理解 功能: 将所有匹配成功的子数据(子串),以列表的形式返回: 如果一个都没有匹配 ...
- python五十六课——正则表达式(常用函数之compile())
2).compile(regex,[flags=0]):返回一个Pattern对象(认为:它内部已经封装了一套regex和flags) 可以再通过Pattern对象继续调用match函数(此时只需要传 ...
- python五十九课——正则表达式的拓展内容
演示正则表达式的拓展内容:函数:finditer(regex,string,[flags=0]):参数:和match.search.findall一样理解功能:将所有匹配的数据封装为一个一个的matc ...
- python五十八课——正则表达式(替换)
替换:sub(regex,repl,string,count,[flags=0]): 替换数据,返回字符串(已经被替换完成后的内容)subn(regex,repl,string,count,[flag ...
- python五十八课——正则表达式(分组)
演示正则中的替换和切割操作:在这之前我们先学习一个分组的概念: 分组:在正则中定义(...)就可以进行分组,理解为得到了一个子组好处:1).如果正则中的逻辑比较复杂,使用分组就可以优化代码的阅读性(更 ...
- python五十八课——正则表达式(切割)
切割:split(regex,string):返回一个列表对象 import re str1='i love shenzhen so much' regex=r' +?' lt=re.split(re ...
- python第十六课——外部函数and内部函数
1.外部函数&内部函数 内部函数: 定义在某个函数的内部,就是内部函数: [注意事项]: 1).内部函数可以随意使用它外部函数中的内容 2).外部函数不能使用内部函数中的内容 3).内部函数不 ...
- python第二十六课——装饰器
装饰器是闭包的一种使用场景: python中的装饰器在定义上需要传入一个函数对象, 在此函数执行之前或者之后都可以追加其它的操作, 这样做的好处是,在不改变源码(原本业务逻辑的)同时,进行功能的扩展: ...
随机推荐
- U3D GameObject 解读
GameObject本身没有功能,是Unity场景里所有组件的基类,但很多时候我们需要在脚本中操作GameObject.先讲一下GameObject类包含哪些内容,其中常用的用红色标出了 Variab ...
- Linux 强制安装 rpm 包
Linux 正常安装 rpm 的命令是: rpm -ivh xxx.rpm 重复安装时需加属性: 软件包重复安装将会失败,若仍需要安装必须加 --replacepkgs 属性 软件包的某个文件已在安装 ...
- [转]VR原理讲解及开发入门
本文转自:http://www.52vr.com/article-661-1.html 本文是作者obuil根据多年心得专门为想要入门的VR开发者所写,由52VR网站提供支持. 1. VR沉浸感和 ...
- foreach 引发的值类型与引用类型思考
用都知道的一句话概括:“引用类型在堆上,栈上只保存引用:值类型即可存放于栈上也可存放于堆上,值类型变量直接存储值本身”. class Program { static void Main(string ...
- Windows安装diango框架<一>
下一篇:使用Django创建网站项目<二> python工具安装 python下载:https://www.python.org/downloads/windows/(我的版本3.7.0) ...
- 牛客网剑指offer 二维数组的查找
题目描述 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 解题思路 该题有很多种 ...
- Flask 中的 CBV 与上传文件
from flask import Flask, views, render_template, request app = Flask(__name__) app.config['DEBUG'] = ...
- 对GIL的一些理解
GIL:全局解释器锁 GIL设计理念与限制: python的代码执行由python虚拟机(也叫解释器主循环,CPython版本)来控制,python在设计之初就考虑到在解释器的主循环中,同时只有一个线 ...
- layer插件layer.photos()动态插入的图片无法正常显示
layer插件layer.photos()动态插入的图片无法正常显示,点击后面插入的图片,显示的是之前的图片列表,再次点击又是正常 有朋友遇到同样的问题 http://fly.layui.com/ji ...
- Linux 学习笔记之超详细基础linux命令 Part 6
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 5----------------- ...