问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Python re正则表达式模块及其用法

发布网友 发布时间:2022-04-06 14:17

我来回答

2个回答

懂视网 时间:2022-04-06 18:38

字符串是编程时涉及到的最多的一种数据结构,对字符串进行操作的需求几乎无处不在。比如判断一个字符串是否是合法的Email地址,虽然可以编程提取@前后的子串,再分别判断是否是单词和域名,但这样做不但麻烦,而且代码难以复用。正则表达式是一种用来匹配字符串的强有力的武器。它的设计思想是用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符串,我们就认为它“匹配”了,否则,该字符串就是不合法的。

所以我们判断一个字符串是否是合法的Email的方法是:

创建一个匹配Email的正则表达式;

用该正则表达式去匹配用户的输入来判断是否合法。

因为正则表达式也是用字符串表示的,所以,我们要首先了解如何用字符来描述字符。

在正则表达式中,如果直接给出字符,就是精确匹配。用d可以匹配一个数字,w可以匹配一个字母或数字,所以:

'00d'可以匹配'007',但无法匹配'00A';

'ddd'可以匹配'010';

'wwd'可以匹配'py3';

.可以匹配任意字符,所以:

'py.'可以匹配'pyc'、'pyo'、'py!'等等。

要匹配变长的字符,在正则表达式中,用*表示任意个字符(包括0个),用+表示至少一个字符,用?表示0个或1个字符,用{n}表示n个字符,用{n,m}表示n-m个字符:

来看一个复杂的例子:d{3}s+d{3,8}。

我们来从左到右解读一下:

d{3}表示匹配3个数字,例如'010';

s可以匹配一个空格(也包括Tab等空白符),所以s+表示至少有一个空格,例如匹配' ',' '等;

d{3,8}表示3-8个数字,例如'1234567'。

综合起来,上面的正则表达式可以匹配以任意个空格隔开的带区号的电话号码。

如果要匹配'010-12345'这样的号码呢?由于'-'是特殊字符,在正则表达式中,要用''转义,所以,上面的正则是d{3}-d{3,8}。

但是,仍然无法匹配'010 - 12345',因为带有空格。所以我们需要更复杂的匹配方式。

热心网友 时间:2022-04-06 15:46

1.第一个参数是正则表达式,这里为"(\w+)\s",如果匹配成功,则返回一个Match,否则返回一个None;
2.第二个参数表示要匹配的字符串;
3.第三个参数是标致位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等。 re.search函数会在字符串内查找模式匹配,只到找到第一个匹配然后返回,如果...
4.第四个参数指替换个数。默认为0,表示每个匹配项都替换。 re.sub还允许使用函数对匹配...
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...二极管 电动车的电瓶因为出于成本考虑,将新旧电瓶混用,因为旧电池内 ... 两个不同容量的蓄电池并联后怎么防止大容量电池向小容量电池放电 工伤后小孩有抚养费吗,会给多少钱 南京工伤死亡子女抚养费标准 邵阳车管所疫情上班吗 2023年验车推迟吗,2023年检车线什么时候上班 全面复工包括黔江车管所不 江宁车管所什么时候复工 疫情期间交警几点下班? 3d和值多少算中奖? 如何在一个陌生的地方找到黑网吧? 什么软件可以看网吧有没有开门美团看不了 附近正在营业的网吧? 高德地图怎么查附近有没有网吧 离我最近的网吧定位 附近网吧位置最近的地方 微信里昨天来了个微粒贷,之前没有,但点开却综合评估未通过,不能借钱怎么回事? 定位我附近哪里有网吧 cfa监考要说英文吗 cfa一级考试一定要用中文教材吗 CFA考试是全是英文的选择题吗? 微粒贷口子开通了,为什么无法借钱?显示的是综合评估未通过,请问大神们,这是什么原因? 国际金融分析师的考试是全英的吗 中国CFA考试是汉语吗 美图秀秀怎么把图片做成视频 谁能给个工艺阀和仪表阀的准确定义。仪表阀算是截止阀的一种么?工艺阀 仪表阀和工艺阀有什么区别? A105/F316/ST 阀门材质 谁能给我写出关于阀门的专业英语单词缩写,包括材料的缩写,什么连接的缩写,谢谢啦 汽车仪表盘跟阀门似的标志是什么意思 离我最近的网吧在哪里 鲜蘑与芹菜能在一起做饺馅吗? 哪个手机软件能查到附近的网吧呢 有没有查看附近网吧游戏的软件 在一个陌生的地方,我想上网。如何快速的找到附近网吧?网吧一般会分布在哪些地方? 苹果手机有可以查找周边的网吧等娱乐场所 软件吗? 香菇芹菜胡萝卜鸡蛋素做饺子馅儿怎么做?请介绍一下制做过程!谢谢! 为什么掌上英雄联盟看不了附近特权网吧 怎么寻找附近的“黑网吧”? 农行企业贷好办 培养创新思维的方法有几种 创新思维的几个方法 提升创新思维的方法 创新思维方法有哪些? 有效创新四个方法指的是什么? 创新技法是什么? 创新思维训练的方法有哪些 如何养成创新思维用一种技法和两种思维方式说明八百字 创新思维*的实用方法有:头脑风暴法、提出问题法、选择一项: A .案例讨论法_百度问一问 怎么发病毒到别人的QQ号里。