python的正则,python正则是什么?

掏出秘密武器 --《正则心法》

学会这门独门武器,在 “爬者” 境界下将如探囊取物

python的正则,python正则是什么?

“宫廷玉液酒,一百八一杯,这酒怎么样,看我给你吹”。

先看下正则测试小工具,一般人我不告诉他

http://tool.oschina.net/regex/

小试牛刀:

python的正则,python正则是什么?

是不是很神奇...

来来来,Python 大星传授你一套《正则心法》

python的正则,python正则是什么?

图 1

python的正则,python正则是什么?

图 2

考验你悟性的时候

从《正则心法》中我们可以看到:

“斜杠 + 小写字母” 和 “斜杠 + 大写字母” 语义相反

含大写字母的一般是否定语句

这些字母不需要死记硬背,背后都有其自然规律

实在记不住,点击收藏

python的正则,python正则是什么?

作为 " 爬虫英语四级” 的老玩家,小 case

w---world

s---space

d---digital

接下来

我会依次展示《正则心法》的奥秘之处

好的 “心法” 必须衬好的 “武器”

re 库 了解哈

“正则心法” 第一式 --match

python的正则,python正则是什么?python的正则,python正则是什么?

当我们用《正则心法》第一式获取到匹配数据,

你以为就 over 了吗?

python的正则,python正则是什么?

刁钻需求的任务:提取匹配数据中的数字

python的正则,python正则是什么?python的正则,python正则是什么?python的正则,python正则是什么?

^ :匹配一行字符串的开头

s :匹配空格

d+: 匹配 1 个或多个数字

python的正则,python正则是什么?

在正则表达式中使用英文括号 ()

group() 和 group(0) 会提取完整的匹配结果

group (1) 会匹配第一个括号中的子字符串

假如正则表达式后面还有 () 包括的内容,那么可以依次用 group (2)、group (3) 等来获取

“正则心法” 第二式 -- 通用匹配

python的正则,python正则是什么?python的正则,python正则是什么?

Python 大星纵览群书,发现个重大密码

通配符无一例外的使用 .*

python的正则,python正则是什么?

“正则心法” 第三式 -- 贪婪与非贪婪

● 什么是贪婪匹配?

在贪婪匹配下,. 会匹配尽可能多的字符

python的正则,python正则是什么?python的正则,python正则是什么?

括号中是 d+,

也就是至少一个数字,并没有指定具体多少个数字,

因此,.* 就尽可能匹配多的字符,这里就把 123456 匹配了,

给 d + 留下一个可满足条件的数字 7,最后得到的内容就只有数字 7 了。

● 什么又是非贪婪匹配?

非贪婪匹配就是尽可能匹配少的字符

非贪婪匹配的写法是 .*?

python的正则,python正则是什么?python的正则,python正则是什么?python的正则,python正则是什么?

贪婪匹配就是匹配尽可能多的字符

非贪婪匹配就是匹配尽可能少的字符

python的正则,python正则是什么?python的正则,python正则是什么?

“正则心法” 第四式 -- 修饰符

当 content 中含有换行符或者大小写时

需要红蓝 buff 加持 --“修饰符”

跟随 Python 先打红 buff-- re.S(匹配包括换行在内的所有字符)

python的正则,python正则是什么?

1234567

再打蓝 buff -- re.I(使匹配对大小写不敏感,注意:I 是 i 的大写)

python的正则,python正则是什么?

1234567

“正则心法” 第五式 -- 转义匹配

说到 “转义字符”,万金油 “斜杠” 来表示

python的正则,python正则是什么?

“正则心法” 第六式 --search

前面五式,我们使用的 match 方法是从字符串的开头开始匹配的,

一旦开头不匹配,那么整个匹配就失败了

Python 大星传授你新的一招 --search

在匹配时,search 方法会依次扫描字符串,直到找到第一个符合规则的字符串,然后返回匹配内容,如果搜索完了还没有找到,就返回 None。

python的正则,python正则是什么?

“正则心法” 第七式 --findall

第六式 我们能轻松的用 search 方法获取匹配正则表达式的第一个内容

但是...

当我想要匹配所有符合正则表达式的所有内容呢?

python的正则,python正则是什么?

['1234567', '7654321']

“正则心法” 第八式 --sub

除了使用正则表达式提取信息外,有时候还需要借助它来修改文本

python的正则,python正则是什么?

Python

“正则心法” 第九式 --compile

最后,Python 传授毕生功力

准备好接收了吗?

将正则字符串编译成正则表达式对象,以便在后面的匹配中复用

python的正则,python正则是什么?python的正则,python正则是什么?

呼气,吸气,收!!!

这套《正则心法》你 get 到了吗?

python的正则,python正则是什么?

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 xxx@163.com 举报,一经查实,本站将立刻删除。

发表评论

登录后才能评论