【python养成】:re模块正则表达式详解

导读:本篇文章讲解 【python养成】:re模块正则表达式详解,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

【python养成】:re模块正则表达式详解

文章目录


前言

一、正则表达式是什么?

二、正则表达式基本语法

三、re模块主要函数

总结


前言

        谢谢大家的关注!我之前做了一些网络爬虫的项目,项目里涉及到了正则表达式的用法,相信大家要是用Python做网络爬虫或者大数据分析必然脱不开正则表达式的使用!这篇文章针对Python的正则表达式做详细的解释,希望文章能对初学者有所帮助,本文章参考书籍例程。


一、正则表达式是什么?

        正则表达式是字符串处理的有力工具和技术,是使用某种预定义的模式去匹配一类具有共同特征的字符串,主要用于处理字符串,可以快速、准确地完成复杂的查找和替换等处理要求,在文本编辑与处理、大数据分析、网络爬虫的场合有重要用途!

        正则表达式主要是使用 Python中的  re模块

二、正则表达式基本语法

元字符

功能说明

.

匹配除换行符以外的任意单个字符

*

匹配位于*之前的字符或子模式的0次或多次出现

+

匹配位于+之前的字符或子模式的1次或多次出现

[]之内用来表示范围

|

匹配位于|之前或之后的字符

^

匹配行首,匹配以^后面的字符开头的字符串

$

匹配行尾,匹配以$之前的字符结束的字符串

?

匹配位于?之前的0个或1个字符。当此字符紧随任何其他限定符(*+?{n}{n,}{n,m})之后时,匹配模式是“非贪心的”。“非贪心的”模式匹配搜索到的、尽可能短的字符串,而默认的“贪心的”模式匹配搜索到的、尽可能长的字符串。例如,在字符串“oooo中,“o+?”只匹配单个“o”,而“o+”匹配所有“o”

\

表示位于\之后的为转义字符

\num

此处的num是一个正整数,表示子模式编号。

例如,“(.)\1”匹配两个连续的相同字符

\f

换页符匹配

\n

换行符匹配

\r

匹配一个回车符

\b

匹配单词头或单词尾

\B

\b含义相反

\d

匹配任何数字,相当于[0-9]

\D

\d含义相反,等效于[^0-9]

\s

匹配任何空白字符,包括空格、制表符、换页符,与 [ \f\n\r\t\v] 等效

\S

\s含义相反

\w

匹配任何字母、数字以及下划线,相当于[a-zA-Z0-9_]

\W

\w含义相反\w含义相反,与“[^A-Za-z0-9_]”等效

()

将位于()内的内容作为一个整体来对待

{m,n}

{}前的字符或子模式重复至少m次,至多n

[]

表示范围,匹配位于[]中的任意一个字符

[^xyz]

反向字符集,匹配除xyz之外的任何字符

[a-z]

字符范围,匹配指定范围内的任何字符

[^a-z]

反向范围字符,匹配除小写英文字母之外的任何字符

三、re模块主要函数

方法

功能说明

compile(pattern[, flags])

创建正则表达式对象

escape(string)

将字符串中所有特殊正则表达式字符转义

findall(pattern, string[, flags])

返回包含字符串中所有与给定模式匹配的项的列表

finditer(pattern, string, flags=0)

返回包含所有匹配项的迭代对象,其中每个匹配项都是Match对象

fullmatch(pattern, string, flags=0)

尝试把模式作用于整个字符串,返回Match对象None

match(pattern, string[, flags])

从字符串的开始处匹配模式,返回Match对象None

purge()

清空正则表达式缓存

search(pattern, string[, flags])

整个字符串中寻找模式,返回Match对象None

split(pattern, string[, maxsplit=0])

根据模式匹配项分隔字符串

sub(pat, repl, string[, count=0])

将字符串中所有与pat匹配的项用repl替换,返回新字符串,repl可以是字符串或返回字符串的可调用对象,作用于每个匹配的Match对象

subn(pat, repl, string[, count=0])

将字符串中所有pat的匹配项用repl替换,返回包含新字符串和替换次数的二元元组,

repl可以是字符串或返回字符串的可调用对象,

作用于每个匹配的Match对象


总结

        由于正则表达式案例较长,也为了方便大家学习,本次文章贴出基础知识,以下链接是关于案例教程,请各位看官移步至测试案例链接:

(12条消息) 【Python养成】:正则表达式测试案例_嵌入式up的博客-CSDN博客

        

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

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/73642.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!