Python中正则表达式用法 重点格式以这个为准_首看_各种问题
20210811
https://www.jb51.net/article/101258.htm
一.惰性模式的概念:
此模式和贪婪模式恰好相反,它尽可能少的匹配字符以满足正则表达式即可,例如:
var str="axxyyzbdkb";
console.log(str.match(/a.*b/));
以上代码是贪婪模式,于是能够匹配整个字符串,下面将其修改成惰性匹配模式:
var str="axxyyzbdkb";
console.log(str.match(/a.*?b/));
只取组里面的内容
20210803
[\u4e00-\u9fa5]
匹配中文
20201211
import refname = '2020-01-14_endometriosis_2020-01-01_UTF8.txt'
with open(fname, "r", encoding = 'utf-8') as f:abstracts = f.read()str = abstracts
iList= re.findall(r"PMID: \d+ ",str)
print(len(iList)) # output: 6049,符合文档中文献的总篇数iList= re.findall(r"PMID: \d+",str) # regex pattern中少一个空格
print(len(iList)) # output: 6050,结果比文档中文献总篇数多了一篇
统计字符串中元素的个数
20201124
中文输入法下的括号 在正则下不需要转义
竖线不需要转义
小括号匹配需要加中括号
Python中正则表达式基础知识
一、正则表达式
1.使用正则表达式的动机
1. 文本处理已经成为计算机常见工作之一
2. 对文本内容的搜索,定位,提取是逻辑比较复杂的工作
re.subn(pattern,replace,string,max,flags = 0)
功能: 使用一个字符串替换正则表达式匹配到的内容
参数: pattern 正则表达式
replace 替换的字符串
string 目标字符串
max 最多替换几处,默认替换全部
flags 功能标志位,扩展正则表达式的匹配
返回值: 替换后的字符串和替换了几处
re.finditer(pattern,string,flags = 0)
功能: 根据正则表达式匹配目标字符串内容
参数: pattern 正则表达式
string 目标字符串
flags 功能标志位,扩展正则表达式的匹配
返回值: 匹配结果的迭代器(迭代器用一个取一个,节省内存资源)
re.fullmatch(pattern,string,flags=0)
功能:完全匹配某个目标字符串
参数:pattern 正则
string 目标字符串
返回值:匹配内容match object
注:该函数可用于密码验证:密码只允许字母和数字,如果返回值为None,则密码不符合规范,含有数字和字母以外的字符
re.match(pattern,string,flags=0)
功能:匹配某个目标字符串开始位置
参数:pattern 正则
string 目标字符串
返回值:匹配内容match object
re.search(pattern,string,flags=0)
功能:匹配目标字符串第一个符合内容
参数:pattern 正则
string 目标字符串
返回值:匹配内容match object
compile对象属性
【1】 flags : flags值--------注:不要跟参数flags混淆了
【2】 pattern : 正则表达式
【3】 groups : 子组数量
【4】 groupindex : 捕获组名与组序号的字典
2.match对象的属性方法
1. 属性变量
pos 匹配的目标字符串开始位置
endpos 匹配的目标字符串结束位置
re 正则表达式
string 目标字符串
lastgroup 最后一组的名称
lastindex 最后一组的序号
2. 属性方法
span() 获取匹配内容的起止位置
start() 获取匹配内容的开始位置
end() 获取匹配内容的结束位置
groupdict() 获取捕获组字典,组名为键,对应内容为值
groups() 获取子组对应内容
group(n = 0)
功能:获取match对象匹配内容
参数:默认为0表示获取整个match对象内容,如果是序列号或者组名则表示获取对应子组内容
返回值:匹配字符串
3.flags参数
1. 使用函数:re模块调用的匹配函数。如:re.compile,re.findall,re.search…
2.作用:扩展丰富正则表达式的匹配功能
3.常用flag
A == ASCII 元字符只能匹配ascii码
I == IGNORECASE 匹配忽略字母大小写
S == DOTALL 使 . 可以匹配换行
M == MULTILINE 使 ^ $可以匹配每一行的开头结尾位置
X == VERBOSE 为正则添加注释
4. 使用多个flag
方法:使用按位或连接
e.g. : flags = re.I | re.A
代码实例:
Python中正则表达式用法 重点格式以这个为准_首看_各种问题相关推荐
- Python中self用法详解
Python中self用法详解 https://blog.csdn.net/CLHugh/article/details/75000104 首页 博客 学院 下载 图文课 论坛 APP 问答 商城 V ...
- 站长在线Python精讲:Python中正则表达式的语法详解
欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<Python中正则表达式的语法详解>.本知识点主要内容有9点:行定位符.元字符.限定符.字符集.排除字符.选择字符.转义字符 ...
- 简单介绍Python中异常处理用法
这篇文章主要给大家分享的是 Python中异常处理用法,为了保证程序的健壮性与容错性,即在遇到错误时候程序不会崩溃,我们需要对异常进行处理,下面来看看文章对此的用法,需要的朋友可以参考一下 为了保证程 ...
- python中的数字类型格式与运算_Python中的数字类型格式与运算
出品 Python中的数字(Digital)与数学中的数字相同,可以通过各种各样的运算符实现各种计算,在Python中数字类型的数据格式分为以下几种: 1.整数型(integer) 2.浮点数(flo ...
- python中 的用法_详解python中@的用法
python中@的用法 @是一个装饰器,针对函数,起调用传参的作用. 有修饰和被修饰的区别,@function作为一个装饰器,用来修饰紧跟着的函数(可以是另一个装饰器,也可以是函数定义). 代码1 结 ...
- python讲解-详解python中@的用法
python中@的用法 @是一个装饰器,针对函数,起调用传参的作用. 有修饰和被修饰的区别,"@function"作为一个装饰器,用来修饰紧跟着的函数(可以是另一个装饰器,也可以是 ...
- python中正则表达式_Python中正则表达式详解
正则表达式是用来简洁表达一组字符串的表达式,本文主要和大家分享Python 中正则表达式知识详解,希望能帮助到大家.操作符说明实例.表示任何单个字符 [ ]字符集,单个字符取值范围[abc]表示a或b ...
- python中正则表达式的简单应用_Python正则表达式详细应用
原文地址:http://www.jb51.net/article/65286.htm 1.了解正则表达式 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合, ...
- 【 Python 中 int 用法详解】(转载)
Python 中 int 用法详解 欢迎转载,转载请注明出处! 文章目录 Python 中 int 用法详解 0. 参考资料 1. int 的无参数调用 2. int 接收数字作为参数 3. int ...
最新文章
- dev编译器:c++如何让其输出小数16.84,浮点数类型数据!
- flask中的flask_uploads上传文件
- 力扣- -231. 2的幂
- java大作业私人管家系统_重庆管家婆软件丨管家婆工贸PRO的E-MES管理详解
- Java 按行读写文件(解决中文乱码)
- openstack部署(四)--网络配置(Networking)
- C++_二维数组_定义方式_数组名称的作用_案例考试成绩统计---C++语言工作笔记021
- 判断一组checkbox中是否有被选中的
- 数据结构与算法--图的概念
- SqlServer自增长字段归零
- 导入图片后截取_如何截取视频片段?这几个方法比专业剪辑软件还好用!
- 日志管理Rsyslog
- 100套精品PPT模板免费拿!以后再也不用怕老板叫你制作PPT了
- 如何听懂画外音-《用事实说话》:听懂“暗语”,让沟通透明化
- 【算法】两矩形相交的判定
- 如果牛顿是程序员,那么?
- 在项目中应用SpringSecurity权限控制
- 关于BRDF公式理解的笔记
- C#语言实例源码系列-实现无损压缩图片
- 我要学编程,看什么书好?--^_^,这里推荐一些个人觉得很不错的书(三)