(2018-04-16.Python从Zero到One)五、正则表达式__5.1.8re模块的高级用法

上一篇文章为:→5.1.7匹配分组

re模块的高级用法

search

需求:匹配出文章阅读的次数

#coding=utf-8
import re

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

运行结果:

(2018-04-16.Python从Zero到One)五、正则表达式__5.1.8re模块的高级用法_第1张图片
day21_正则表达式-01.png

findall

需求:统计出python、c、c++相应文章阅读的次数

#coding=utf-8
import re

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

运行结果:

(2018-04-16.Python从Zero到One)五、正则表达式__5.1.8re模块的高级用法_第2张图片
day21_正则表达式-02.png

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

需求:将匹配到的阅读次数加1

方法1:

#coding=utf-8
import re

ret = re.sub(r"\d+", '998', "python = 997")
print ret

运行结果:

(2018-04-16.Python从Zero到One)五、正则表达式__5.1.8re模块的高级用法_第3张图片
day21_正则表达式-03.png

方法2:

#coding=utf-8
import re

def add(temp):
    strNum = temp.group()
    num = int(strNum) + 1
    return str(num)

ret = re.sub(r"\d+", add, "python = 997")
print ret

ret = re.sub(r"\d+", add, "python = 99")
print ret

运行结果:

(2018-04-16.Python从Zero到One)五、正则表达式__5.1.8re模块的高级用法_第4张图片
day21_正则表达式-04.png

练习

(2018-04-16.Python从Zero到One)五、正则表达式__5.1.8re模块的高级用法_第5张图片
day21_正则表达式-05.png

从下面的字符串中取出文本

岗位职责:

完成推荐算法、数据统计、接口、后台等服务器端相关工作


必备要求:

良好的自我驱动力和职业素养,工作积极主动、结果导向

 

技术要求:

1、一年以上 Python 开发经验,掌握面向对象分析和设计,了解设计模式

2、掌握HTTP协议,熟悉MVC、MVVM等概念以及相关WEB开发框架

3、掌握关系数据库开发设计,掌握 SQL,熟练使用 MySQL/PostgreSQL 中的一种

4、掌握NoSQL、MQ,熟练使用对应技术解决方案

5、熟悉 Javascript/CSS/HTML5,JQuery、React、Vue.js

 

加分项:

大数据,数理统计,机器学习,sklearn,高性能,大并发。

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

需求:切割字符串“info:xiaoZhang 33 shandong”

#coding=utf-8
import re

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

运行结果:

(2018-04-16.Python从Zero到One)五、正则表达式__5.1.8re模块的高级用法_第6张图片
day21_正则表达式-06.png

下一篇文章为:→5.1.9python贪婪和非贪婪

你可能感兴趣的:((2018-04-16.Python从Zero到One)五、正则表达式__5.1.8re模块的高级用法)