美文网首页python学习日志
正则表达式(二)

正则表达式(二)

作者: 叫我小包总 | 来源:发表于2019-04-28 23:47 被阅读0次

例1

import re

a= 'pytho0python1pythonn2'

r= re.findall('python*',a)

r1= re.findall('python{1,2}?',a)

r2= re.findall('python?',a)

r3= re.findall('python{1,2}',a)

print(r)

print(r1)

print(r2)

print(r3)


给定一个字符串,然后按要求从里面检索出Python。

其中,「*」表示匹配*前面的字符零次或无限次;

      「+」表示匹配+前面的字符1次或无限多次;

      「?」表示匹配?前面的字符0次或1次,这里需要注意的是,在代码中打印r2结果出现了2个Python,这是由于?具有去重的功能。

例2:边界匹配

import re

# qq = '100001'

qq= '100000001'

#验证qq号是否符合4-8位

r= re.findall('^\d{4,8}$',qq)

r1= re.findall('000',qq)

# 如果在开头加入^,不能匹配,字符串开头是1;在末尾加上$,不能匹配,最后的字母必须是000

print(r)

print(r1)


应用场景,验证QQ号是否符合4-8位。

如果符合就打印出结果,否则就打印出[]。但是,通过这行代码,会出现一个问题,当QQ号有九位时,也会打印出前八位的结果,为了防止出现这种错误的结果,我们将上述代码修正为

r= re.findall('^\d{4,8}$',qq)

正则表达式中,「^」和「$」就是边界匹配,前者表示从字符串开头开始匹配,后者则从字符串末尾开始匹配,这样当给出的QQ号超出需要验证的范围时,就会打印出[]。

继续看上面代码,打印r1时会出现

['000','000']

这是因为Python的分组机制,字符串中间有7个0,Python会自动分成2组,如果我们在正则表达式前面加「^」,则会打印出[],这是因为「^」从开头开始匹配,但是开头第一个字符是1,当检索出是1时,就自动停止了匹配,从而打印出[]。同样的,如果在正则表达式末尾加「$」,也会出现[]。

例3:组

import re

a= 'pythonpythonpythonpythonpython'

r= re.findall('(python){3}',a)#Python在正则表达式重复的表示出来

print(r)


检索出字符串中所有的Python,当考虑检索Python的次数上升到很大的数量级时,我们需要这样定义正则表达式。

一个括号表示1组,后面{}的数量词表示重复的次数。

最后,Python的[]和()表示的含义是不一样的,通过前面的学习我们也知道,[]表示或关系,()表示且关系。

相关文章

  • iOS 正则表达式细说

    ios正则表达式细说(一)ios正则表达式细说(二)

  • Java正则表达式参考

    Java正则表达式入门 java正则表达式应用 深入浅出之正则表达式(一) 深入浅出之正则表达式(二) 正则表达式...

  • 正则表达式

    Python正则表达式初识(一) Python正则表达式初识(二) Python正则表达式初识(三) Python...

  • 2019-01-11三剑客之grep

    一、正则表达式 基本正则表达式 逐一阐述 扩展正则表达式 案例 二、grep 参数 案例

  • 常用正则表达式

    常用正则表达式大全!(例如:匹配中文、匹配html)目录导航一、常见正则表达式二、正则表达式应用一、常见正则表达式...

  • 正则表达式(二)--常用正则表达式

    正则表达式(二)--常用正则表达式 @(study)[Maxe, markdown_study, LaTex_st...

  • 高效的获取文件的扩展名

    一: 正则表达式 二: 正则表达式 四: String的slice、lastIndexOf方法 这是如何实现的...

  • linux-正则表达式

    一、正则表达式 1.1、字符匹配 1.2、匹配次数 1.3、位置锚定 二、扩展正则表达式

  • 手机号码中间四位数显示****

    方法一:正则表达式 方法二:subtr

  • 常用的正则表达式

    一、主要是验证数字的常见正则表达式: 二、主要校验字符的正则表达式: 三、特殊需求正则表达式: 下面给大家介绍在前...

网友评论

    本文标题:正则表达式(二)

    本文链接:https://www.haomeiwen.com/subject/gbosnqtx.html