• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

python演示解答正则为什么是最强文本处理工具

python 搞代码 4年前 (2022-01-09) 23次浏览 已收录 0个评论
文章目录[隐藏]

正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简本文来源gao@daima#com搞(%代@#码@网&写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。

Python作为一门数据处理语言,经常使用正则匹配段落,比如爬虫爬取数据时。正则表达式是Python内置的模块,不需要额外安装。

今天来给大家分享一份比较全面的Python正则表达式宝典,学会之后,你将掌握正则表达式的各种应用场景。

re模块

re (Regular Expression简写),这个很好记住。

1.导入re模块

在使用正则表达式之前,需要导入re模块。

import re

2.findall()的语法:

导入了re模块之后就可以使用findall()方法了,
re.findall(pattern, string, flags=0)

参数

pattern:必填。正则表达式
string:必填,需要检索的文本, == 确保没乱码 ==
Flags:选填,功能标志位

返回数组

str='a1a2a3'
newStr=re.findall('a\d',str )
nullVlue=re.findall('b\d',str)
print('newStr匹配个数:',len(newStr))
print('newStr匹配结果',newStr)
print('nullVlue匹配个数:',len(nullVlue))
print('nullVlue匹配结果',nullVlue)

显示如下:

newStr匹配个数: 3
newStr匹配结果 ['a1', 'a2', 'a3']
nullVlue匹配个数: 0
nullVlue匹配结果 []

基本语法已经介绍完成了。

正则表达式

1.傻瓜式截取findall

import re

text='aaa bbb ccc'

rol='aaa (.*) ccc'

rul=re.findall(rol ,text)

print(rul)

显示如下:

[‘bbb’]

直接复制原来的文本,把想要提取的文本替换成(.*)

表达式解释:

表示 意义
(pattern) 表示匹配pattern并获取这一匹配。要匹配圆括号字符,请使用”<script type=”math/tex” id=”MathJax-Element-1″>”或”</script>”。
. 匹配除“\n”之外的任何单个字符。要匹配包括”\n”在内的任何字符,请使用像”(.|\n)”的模式。
* 匹配前面的子表达式零次或多次。例如,zo*能匹配“z”以及”zoo”。*等价于{0,}。

增加替代

import re

text = '<li><a href="/2/" rel="external nofollow"  rel="external nofollow"  rel="external nofollow" >动作片</a></li> <li><a href="/1/" rel="external nofollow"  rel="external nofollow"  rel="external nofollow" >喜剧片</a></li>'

rol = r'<li><a href=".*?" rel="external nofollow"  rel="external nofollow"  rel="external nofollow" >(.*?)</a></li>'

rul = re.findall(rol, text)

print(rul)


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:python演示解答正则为什么是最强文本处理工具

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址