正则表达式学习笔记(2020-08-11)——基本元字符

基本元字符

在正则表达式中可以使用元字符用以匹配字符串的各种可能的情况。

元字符含义
.(点)匹配除换行符以外的任意单个字符,如“r.d”会匹配“red”、“r d”,但不会匹配“read”
*匹配位于之前的任意个字符,如“red”会匹配“rred”、“rrred”,“red”等
+匹配位于+之前的一个或多个字符,如“re+d"会匹配”rred“、”rrred“,但不会匹配”red“
竖杠匹配位于竖杠之前或之后的字符,如”red竖杠blue“,会匹配”red“或”blue”
^匹配行首
$匹配行尾
匹配?之前的零个或一个字符,如“r?d"会匹配”rd“或”rrd“
\表示\之后的是转义字符
[]匹配位于[]中的任一字符,如r[ae]d会匹配rad或red
()将()内的内容当作一个整体
{}按{}中的次数进行匹配

元字符还可以配合起来使用。".*“可以匹配任意个字符,”.+“可以匹配一个或多个任意字符,”.?"可以匹配零个或一个任意字符。
在[]中使用-还可以表示一个范围,如[a-z]表示从a到z的小写字母,[a-zA-Z0-9]表示任意字母和数字。

re模块函数应用

匹配与搜索

re.match()用于在字符串中匹配正则表达式,如果匹配成功,则返回MatchObject对象实例;
re.search()用于在字符串中查找正则表达式,如果找到,则返回MatchObject对象实例;
re.findall()用于在字符串中查找所有符合正则表达式的结果,并返回这些字符串的列表,如果在正则表达式中使用了组,则返回一个元组。
re.match()和re.search()的作用基本一样,不同的是,re.match()只从字符串中的第一个字符开始匹配,而re.search()则搜索整个字符串。
re.match(pattern, string, [, flags])
re.search(pattern, string, [, flags])
re.findall(pattern, string, [, flags])

参数含义如下:
pattern:匹配模式
string:要进行匹配的字符串
flags:可选参数,进行匹配的标志
参数flags的可选项包括:

flags含义
re.I忽略大小写
re.L根据本地设置而更改\w,\W,\b,\B,\s,\S的匹配内容
re.M多行匹配模式
re.S使“.”元字符匹配换行符
re.U匹配Unicode字符
re.X忽略pattern中的空格,并且可以用#注释

上述的几个编译标志可以同时使用。同时使用几个编译标志时,需要使用|对并用的编译标志进行运算。

替换函数

re.sub()用于替换字符串中符合正则表达式的内容,它返回替换后的字符串。
re.subn()与re.sub()相同,不过返回一个元组。
re.sub(pattern, repl, string [, count])
re.subn(pattern, repl, string[, count])

参数含义如下:
pattern:正则表达式
repl:需要替换的内容
string:需要替换内容的字符串
count:可选参数,最大替换次数

分割字符串函数

re.split()用于分割字符串,它返回分割后的字符串列表。
re.split(pattern, string[, maxsplit=0])
参数含义如下:
pattern:正则表达式
string:
maxsplit:可选参数,最大分割次数
活着就给自己的生活找点乐子,自勉

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ALittleHigh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值