正则表达式

Python版
简介:正则表达式可以实现对数据的清理工作,它包含表达式格式和一些表达式处理函数,不同的语言的表达式大同小异 ,函数处理会有不同。
一些常见的表达式含义:

1、原子:
'汉字词组':表示汉字词组
'\w':表示字母,下划线,数字
'\W':表示除字母,下划线,数字之外的数据
'\s':表示空格
'\S':表示非空格
'\d':表示十进制数
'\D':表示非十进制数
[\u4e00-\u9fa5]:表示汉字
[a-z]:表示小写字母
[A-Z]:表示大写字母
[0-9]:表示数字
2、元字符:
^:表示匹配开头
$:表示匹配结尾
.:表示所有字符(不包含'\n')
?:表示重复一次或零次前面的原子,换可用于将贪婪模式转换为非贪婪模式
+:表示重复一次或多次前面的原子
*:表示重复零次一次或多次前面的原子

正则表达式格式

1、实现多次匹配
'\d{5}':表示匹配5个数字
'\d{4,}':表示最低匹配4个数字
'\d{4,8}':表示匹配最低4个数字,最多8个数字
2、实现匹配多个原子
'\d | \s':表示匹配一个数字或者一个空格
3、实现分组
'( \d\d ) \d\d\d\d':表示对获得的整个字符串进行分组,不影响整体输出,在分组输出时起作用

前面是对数据清洗的一种格式,后面要用函数按照格式对文本进行操作(可以用变量接收函数操作后的返回值)

import re	#正则表达式需要的包

pat = r'正则表达式格式'	#r可以用来消除转义
strr = r'文本内容(字符串)'

1、一次匹配:
re.match(pat, strr)	#从strr开头匹配pat信息,无则返回None,有则返回迭代器
re.search(pat, strr)	#从整个文本中匹配pat信息,无则返回None,有则返回对应文本内容

2、多次匹配(找出全部)
re.findall(pat, strr)	#从整个文本中匹配pat信息,有则返回对应文本内容
r_iter = re.finditer(pat, strr)	#从整个文本中匹配pat信息,有则返回对应迭代器
for i in r_iter:
	print(i.group())	#用group可获得迭代器内的信息,也可处理分组信息

3、操作函数
re.split(pat, strr)	#将整个文本以pat格式分割
re.sub(pat, 'string', strr)	#将文本内容中的pat信息替换为'string'信息

pat1 = re.compile(r'正则表达式格式', flags = 0)	#加快速度的另一种方式,较常用
		'''		
		{
			flags(控制标记)参数:
				re.I	-->	re.IGNORECASE : 忽略正则表达式的大小
				re.M	-->	re.MULTILINE  : 正则表达式中的^操作符能够将给定字符串的每行当做匹配开始
				re.S	-->	re.DDOTALL    : 正则表达式中的.操作符能够匹配所有字符,默认匹配除换行以外的所有字符
		}
		'''
pat1.match(strr)
pat1.findall(strr)
pat1.finditer(strr)
pat1.split(strr)
pat1.sub('string', strr)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值