淘先锋技术网

首页 1 2 3 4 5 6 7

f64bc991fabf538280d9011dbed0260a.png

学习目录

阿力阿哩哩:深度学习 | 学习目录​zhuanlan.zhihu.com
cb7ef551b6396045516ecc33eb4ba448.png

上一期我们讲到

阿力阿哩哩:Python高阶学习​zhuanlan.zhihu.com
25aab5902b011e6de4d407550f5e4213.png

3.5 正则表达式

正则表达式是一个特殊的字符序列,帮助我们匹配我们想要的字符串格式。

3.5.1 re.match

匹配字符串开头,开头不匹配直接返回None。

1.  

(0, 5)

None

3.5.2 re.search

返回字符串中第一个匹配的匹配

1.  

(0, 5)

<re.Match object; span=(5, 9), match='Wang'>

3.5.3 re.sub

替换字符串中的匹配项:

re.sub(pattern, repl, string, count=0, flags=0)

参数:

pattern:正则中的模式字符串。

repl:替换的字符串,也可为一个函数。

string:要被查找替换的原始字符串。

count:模式匹配后替换的最大次数,默认 0 表示替换所有的匹配。

1.  

QQ邮箱是: [email protected]

163邮箱是: [email protected]

3.5.4 re.compile 函数与findall

compile函数用于编译正则表达式,生成一个正则表达式(Pattern)对象,供 match() 和 search() 这两个函数使用。

findall(string, pos, endpos):在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表。

参数:

string:待匹配的字符串。

pos:可选参数,指定字符串的起始位置,默认为 0。

endpos:可选参数,指定字符串的结束位置,默认为字符串的长度。

1.  

['111', '222']

['111', '444']

3.5.5 正则表达式的重点

正则表达式的核心是如何构建一个正则对象去匹配我们需要的字符,这里涉及到很多的正则符号,之前的代码只是简单的介绍了匹配('d+')数字或者('D+')非数字,其实还有很多很多的匹配项。

这是一个庞大的知识体系,我们不可能完全记住,也不可能完全精通,因此我们只需要在使用的时候翻阅一下即可。

目前,互联网上已经有很多正则表达式的匹配教程,笔者在此提及它,只是想让初学的读者知道有这么一个东西,等到需要用的时候,通过互联网去查阅即可。

关注我的微信公众号【阿力阿哩哩的炼丹日常】~不定期更新相关专业知识~

喜欢就点个赞吧~

f175d66e8fcd242f82afd43fbc2138ff.png