python中使用正则表达式处理文本(仅记录常用方法和参数)
2024-09-03 23:55:51
标准库模块
python中通过re模块使用正则表达式
import re
常用方法
生成正则表达式对象
compile(pattern[,flags])
pattern:正则表达式字符串
flags:re.I 匹配不区分大小写
re.S .为包括换行在内的所有字符(原本.不包括换行)
匹配字符串
match(pattern,string,[flags])
在起始位置匹配,若起始位置不匹配,返回None,反之返回Match对象
search(pattern,string,[flags])
搜索字符串中第一个匹配的值,成功返回Match对象,失败返回None
findall(pattern,string,[flags])
搜索所有符合条件的字符串,并以列表形式返回,失败返回空列表,这也是最为常用的方法.
返回的列表:
- 正则表达式内无组时返回所有匹配的字符串的列表
- 当给出的正则表达式中带有一个括号时(即包含一个组),列表的元素为字符串,此字符串的内容与括号中的正则表达式相对应(不是整个正则表达式的匹配内容)
- 当给出的正则表达式中带有多个括号时(即包含组),列表的元素为多个字符串组成的tuple,tuple中字符串个数与括号对数相同,字符串内容与每个括号内的正则表达式相对应,并且排放顺序是按括号出现的顺序。
替换字符串
sub(pattern, replace,string[,count,flags])
count是最大替换次数,默认为0 表示替换所有匹配,返回替换后的文本
replace为替换的字符串,也可以是一个函数,此函数有一个参数为match对象,利用函数可以进行更丰富的操作,例如在匹配位置前后进行增减操作等
def add(s):
return s.group()+'五'
str1 = "一二三四六七"
x = re.sub(r'四',add,str1) #x='一二三四五六七'
分割字符串
split(pattern,string[,count,flags])
count是最大拆分次数,默认0表示无限次
以正则表达式匹配的字符串为界限分割,返回分割后的列表
match对象
常用方法:
group(num=0)
默认返回匹配的整个字符串,加参数(组号),返回该组号的字符串
groups()
返回包含所有组的元组,没有组就为空元组
最新文章
- LL LR SLR LALR 傻傻分不清
- 如何让nodejs同步操作
- java设计优化--观察者模式
- HTML学习之canves元素
- dom4j增删改查
- 如何配置svn服务器
- maven3.1安装及配置
- HDFS的shell操作
- 好记心不如烂笔头,ssh登录 The authenticity of host 192.168.0.xxx can't be established. 的问题
- Java内存模型—JMM
- 多重影分身——C#中多线程的使用一(基础)
- Spark读Hbase优化 --手动划分region提高并行数
- AX_CreateAndPostSales
- hashMap的hashCode() 和equal()的使用
- vue methods 中方法的相互调用
- php算法题2
- ActiveMQ——activemq的报错见解javax.jms.JMSException: Software caused connection abort: recv failed
- SpringBoot入门 (七) Redis访问操作
- Android studio的gradle
- js中__proto__和prototype constructor 的区别和关系