python3中的正则表达式
精确匹配:
\d: 匹配一个数字
\w: 匹配一个字母或数字
. : 匹配任意一个字符
\s: 匹配一个空格(包括tab等空白符)
匹配变长的字符:
* : 匹配任意个字符,包括0个
+ : 匹配至少一个字符
? : 匹配0个或一个字符
{n} : 匹配n个字符
{n,m} : 匹配n~m个字符
eg: 说明“\d{3}\s+\d{2,5}”的含义
\d{3}: 表示匹配3个数字,例如'028'
\s+: 表示匹配至少一个空格
\d{2,5}: 表示匹配2~5个数字,例如'1245'
比如可以匹配以任意个空格隔开区号的电话号码。例如'028 57652'
[] :用来表示范围
[0-9a-zA-Z\_]: 可以匹配一个数字、大小写字母或者下划线
[0-9a-zA-Z\_]+: 可以匹配至少由一个数字、大小写字母或者下划线组成的字符串
eg: 'a54', 'fasd', 'who_lj123'...
[a-zA-Z\_][0-9a-zA-Z\_]*: 可以匹配由字母或下划线开头,后边任意个有数字、字母或者下划线组成的字符串,即python的合法变量名
[a-zA-Z\_][0-9a-zA-Z\_]{0, 19}: 更精确地限制了变量的长度是1-20个字符
a|b: 匹配a或者b
eg: (P|p)ython: 可以匹配'Python'或者'python'
^: 匹配行首
eg: ^\d: 表示行必须以数字开头
$: 匹配行尾
eg: $\d: 表示行必须以数字结尾
^SOME_STR$: 匹配只包含SOME_STR的行
python中的正则表达式模块是re
match()方法判断是否匹配,如果匹配成功,返回一个Match对象,否则返回None。常见的判断方法就是:
test = '用户输入的字符串'
if re.match(r'正则表达式', test):
print('ok')
else:
print('failed')
切分字符串:
re.split(r'\s+', 'TEST_STR'): 指定分隔符为空格
re.split(r'[\s\,\;]+', 'TEST_STR'): 指定分隔符为空格、逗号或者分号
python3中的正则表达式的更多相关文章
- 正则表达式:Python3中的应用简介
正则表达式:Python3中的应用简介 一.正则表达式 1,概述 正则表达式,又称规则表达式.(英语:Regular Expression,在代码中常简写为regex.regexp或RE),计算机科学 ...
- python3中的RE(正则表达式)
记录大佬的 整理 原文来自:https://blog.csdn.net/weixin_40136018/article/details/81183504 1.引入正则模块(Regular Expres ...
- Python3中Urllib库基本使用
什么是Urllib? Python内置的HTTP请求库 urllib.request 请求模块 urllib.error 异常处理模块 urllib.par ...
- Python3中正则模块re.compile、re.match及re.search函数用法详解
Python3中正则模块re.compile.re.match及re.search函数用法 re模块 re.compile.re.match. re.search 正则匹配的时候,第一个字符是 r,表 ...
- Python3中的字符串函数学习总结
这篇文章主要介绍了Python3中的字符串函数学习总结,本文讲解了格式化类方法.查找 & 替换类方法.拆分 & 组合类方法等内容,需要的朋友可以参考下. Sequence Types ...
- PHP中有关正则表达式的函数集锦
之前学正则表达式的目的是想从网上抓取点小说啊,文档啊,还有获取相应的视频连接然后批量下载.当时初学PHP根本不知道PHP有专门抓包的工具,就像Simple_html_dom.php(在我的其他博文中有 ...
- JavaScript中的正则表达式(终结篇)
JavaScript中的正则表达式(终结篇) 在之前的几篇文章中,我们了解了正则表达式的基本语法,但那些语法不是针对于某一个特定语言的.这篇博文我们将通过下面几个部分来了解正则表达式在JavaScri ...
- Coursera-Getting and Cleaning Data-week4-R语言中的正则表达式以及文本处理
博客总目录:http://www.cnblogs.com/weibaar/p/4507801.html Thursday, January 29, 2015 补上第四周笔记,以及本次课程总结. 第四周 ...
- 9.JAVA中的正则表达式
一.JAVA中的正则表达式 1.概念:以某种特定的方式描述字符串 1.Java中正则表达式的规则 ? #{0,1}-?有一个-或者没有 \\ #表示一个" ...
随机推荐
- 理解Login函数
_LoginPartial.cshtml文件 其中 <li>@Html.ActionLink("Log in", "Login", "Ac ...
- C#获取当前不同网卡对应的iP
C#获取当前不同网卡对应的iP: public string GetLocalIP() { IPAddress localIp = null; try { IPAddress[] ipArray; i ...
- LitElement(六)生命周期
1.概述 基于LitElement的组件通过响应观察到的属性更改而异步更新. 属性更改是分批进行的,如果在请求更新后,更新开始之前,发生更多属性更改,则所有更改都将捕获在同一次更新中. 在较高级别上, ...
- 用eclipse中自带的jetty启动项目
1.建立datasources.xml,创建jndi <jee:jndi-lookup id="datasource" jndi-name="jndiname&qu ...
- 家庭记账小账本Android studio
经过长达7天多的时间,从Android studio的安装碰到很多的问题,真的很不走运,别人安装Android studio都是一气呵成,我的Android真的没话说 把自己的这些天的开发成果展示一下 ...
- 1.6 SQL (根据时间取值)
select * from 表名 where createdate > date_add(subdate(curdate(),date_format(curdate(),'%w')-1),int ...
- 图的dfs遍历模板(邻接表和邻接矩阵存储)
我们做算法题的目的是解决问题,完成任务,而不是创造算法,解题的过程是利用算法的过程而不是创造算法的过程,我们不能不能陷入这样的认识误区.而想要快速高效的利用算法解决算法题,积累算法模板就很重要,利用模 ...
- DFT计算过程详解
DFT计算过程详解 平时工作中,我们在计算傅里叶变换时,通常会直接调用Matlab中的FFT函数,或者是其他编程语言中已经为我们封装好的函数,很少去探究具体的计算过程,本文以一个具体的例子,向你一步一 ...
- Makefile export
1) 1.在(parent,上层的)makefile中export出来变量,子makefile(sub make)中,是可以访问的. 2. 而同一级别的makefile(可通过makefile中内置变 ...
- maven一直加载2.0.0.M7 的 config server 失败
之前学习的时候使用F版的SpringBoot管理项目依赖一直好好的,今天不知idea为何抽疯,一直加载失败,各种重启,清除,没用 只能像之前学习注册consul 时将F版的SpringBoot 改为G ...