python re 高级用法

python re 高级用法

在这里插入图片描述
这个模块提供类似于佩尔的正则表达式匹配操作。 它支持8位和 Unicode 字符串; 正在处理的模式和字符串都可以包含空字节和 US ASCII 范围之外的字符。 正则表达式可以包含特殊字符和普通字符。 大多数普通字符,如“ a”、“ a”或“0” ,都是最简单的正则表达式; 它们只是匹配自己。 可以连接普通字符,所以 last 匹配字符串‘ last’。

比较常用的方法

search

import re
help(re.search)
ret = re.search("\\d+", "阅读次数为 9999")
print(ret.group())

运行结果
在这里插入图片描述

findall

import re

help(re.findall)
ret = re.findall("\\d+", "python = 9999, c = 7890, c++ = 12345")
print(ret)

在这里插入图片描述

sub 将匹配到的数据进行替换

import re

help(re.sub)
ret = re.sub("\\d+","996", "python = 9999, c = 7890, c++ = 12345")
print(ret)

在这里插入图片描述

split 根据匹配进行切割字符串,并返回一个列表

import re

help(re.split)
ret = re.split(":| ","info:xiaoZhang 33 shandong")
print(ret)

在这里插入图片描述

从拉勾网爬取一份HTML保存到123.txt,然后从字符串中取出文本

在这里插入图片描述

<div>
        <p>岗位职责:</p>
<p>完成推荐算法、数据统计、接口、后台等服务器端相关工作</p>
<p><br></p>
<p>必备要求:</p>
<p>良好的自我驱动力和职业素养,工作积极主动、结果导向</p>
<p>&nbsp;<br></p>
<p>技术要求:</p>
<p>1、一年以上 Python 开发经验,掌握面向对象分析和设计,了解设计模式</p>
<p>2、掌握HTTP协议,熟悉MVC、MVVM等概念以及相关WEB开发框架</p>
<p>3、掌握关系数据库开发设计,掌握 SQL,熟练使用 MySQL/PostgreSQL 中的一种<br></p>
<p>4、掌握NoSQL、MQ,熟练使用对应技术解决方案</p>
<p>5、熟悉 Javascript/CSS/HTML5,JQuery、React、Vue.js</p>
<p>&nbsp;<br></p>
<p>加分项:</p>
<p>大数据,数理统计,机器学习,sklearn,高性能,大并发。</p>

        </div>

实现代码

import re

def read(file_name):
	try:
		f=open(file_name)
	except Exception as e:
		return ""
	else:
		f_t=f.read()
		print("读取到:\n%s"%f_t)
		return f_t
	

def flie_sub(law,file_txt):
	ret=re.sub(law,"",file_txt)
	
	if ret:
		print(ret)
		# for x in ret.groups():
		# 	
		
	else:
		# print("%s没有发现匹配:%s"%(law,file_txt))
		print("*"*40)


file_txt=read("123.txt").splitlines()
print("返回:%s\n"%file_txt)
help(re.sub)
for x in file_txt:
	flie_sub("<\\w*>|</\\w*>|&nbsp",x)

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值