Python进阶学习笔记之正则表达式


正则表达式元字符

元字符功能说明
^匹配字符串的开始
$匹配字符串的结束
.匹配除换行符以外的任意字符
\d匹配数字
\b匹配单词头或单词尾
\w匹配任何字母、数字以及下划线
\s匹配任何空白字符,包括空格、制表符、换页符
\B与\b相反,匹配非单词边界
\W与\w相反
\S与\s相反
{m,n}{}前的字符或子模式重复至少m次,至多n次

功能函数

re.findall()函数

作用:遍历整个字符串,可以获取其中所有匹配的字符串,返回一个列表。

一般用法:

re.findall(r'正则表达式''要匹配的文本')
compile()函数

作用:编译正则表达式模式,返回一个对象的模式。

一般用法:

a = re.compile(pattern,flags=0)

a.findall('要匹配的文本')#使用方法

其中:

  • a:表达式模式的对象;

  • pattern: 编译时用的表达式字符串(即正则表达式);

  • flags:(可选)编译标志位,用于修改正则表达式的匹配方式。

常用的flags有:

标志含义
re.S(DOTALL)使.匹配包括换行在内的所有字符
re.I(IGNORECASE)使匹配对大小写不敏感
re.L(LOCALE)做本地化识别(locale-aware)匹配,法语等
re.M(MULTILINE)多行匹配,影响^和$
re.X(VERBOSE)该标志通过给予更灵活的格式以便将正则表达式写得更易于理解
re.U根据Unicode字符集解析字符,这个标志影响\w,\W,\b,\B
match()函数

作用:在字符串刚开始的位置匹配,在开头匹配到目的字符便返回,如果开头没有目的字符将匹配失败,返回None。

一般格式:

re.match(pattern, string, flags=0)

match()函数返回的是一个match object对象,而match object对象有以下方法:

  • group():返回被正则匹配的字符串;

  • start():返回匹配开始的位置;

  • end():返回匹配结束的位置;

  • span():返回一个元组包含匹配 (开始,结束) 的位置;

  • groups():返回正则整体匹配的字符串,可以一次输入多个组号,对应组号匹配的字符串。

search()函数

作用:在字符串内查找模式匹配,只要找到第一个匹配然后返回。如果字符串没有匹配,则返回None。

一般格式:

re.search(pattern, string, flags=0)

match()和search()比较类似,它们的区别在于match()只匹配字符串的开头,如果开头没有出现目的字符串,即使后面出现了也不会进行匹配;search()函数会在整个字符内匹配,只要找到一个目的字符串就返回。

finditer()函数

作用:搜索字符串,返回一个Match对象的迭代器。找到正则匹配的所有子串,把它们作为一个迭代器返回。

一般格式:

re.finditer(pattern, string, flags=0)
split()函数

作用:按照能够匹配的子串,将string分割后返回列表。

一般格式:

re.split(pattern, string)
sub()函数

作用:使用re替换string中每一个匹配的子串后,返回替换后的字符串。

一般格式:

re.sub(pattern, repl, string, count)

其中:把string中的pattern替换为repl。

subn()函数

作用:返回替换次数。

一般格式:

subn(pattern, repl, string, count=0, flags=0)

其中:subn()函数不仅返回了替换后的字符串,还返回了替换的次数。


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值