Python之re模块方法详解

前言

学习re模块首先要对python正则表达式要了解,正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。re 模块使 Python 语言拥有全部的正则表达式功能。关于正则的具体内容我就不讲了,网上有很多,大家可以先去学一学。

re模块

学本文主要讲一下re模块下的三种函数和使用方法。

1.search函数

re.search 扫描整个字符串并返回第一个成功的匹配。

语法:

参数含义:

pattern 匹配的正则表达式

string 要匹配的字符串。

flags 标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等。

实例:

import re

str="10qzs20qzs30"

data=re.search("\d+",str)

print(data.group())

输出结果:

注意:search返回的是正则表达式对象,.group()方法来获取返回的字符串。

2.Sub()函数

Python 的re模块提供了re.sub用于替换字符串中的匹配项。

语法:

参数函数:

pattern : 正则中的模式字符串。

repl : 替换的字符串,也可为一个函数。

string : 要被查找替换的原始字符串。

count : 模式匹配后替换的最大次数,默认 0 表示替换所有的匹配。

实例:

比如还是上面的str字符串,去掉“qzs”字符,只剩下数字:

import re

str="10qzs20qzs30"

data=re.sub("\D","",str)

print(data)

运行结果:

3.findall()函数

在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表。

语法:

参数含义:

string 待匹配的字符串。

pos 可选参数,指定字符串的起始位置,默认为 0。

endpos 可选参数,指定字符串的结束位置,默认为字符串的长度。

实例:

根据函数名也知道了,此函数是匹配所有,而不是像search函数匹配一次

importre

str="10qzs20qzs30"

data=re.findall("\d+",str)

print(data)

运行结果:

re模块还有一些其他的函数我就不一一列出了,大家可以自己试一试。本文主要就是让大家对re模块有所认识。

re模块的修饰符

正则表达式可以包含一些可选标志修饰符来控制匹配的模式。修饰符被指定为一个可选的标志。多个标志可以通过按位 OR() 它们来指定。如 re.I re.M 被设置成 I 和 M 标志:

文章部分定义来源于菜鸟教程及网络

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180226G1GPOT00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券