-
探索模块(可用Python解释器)
首先import module -
使用dir:查看模块包含哪些东西,该函数列出对象的所有属性(对于模块,它列出所有的函数、变量、类等)。
-
变量__all__:
-
正则表达式
通配符:点号与换行符外的任何字符都匹配,因此被称为通配符。点号匹配一个字符。
对特殊字符进行转义:让特殊字符的行为与普通字符一样,需要对其进行转义。转义符为反斜杠,但是这里包含两层转义,即解释器执行的转义和模块re执行的转义,如:‘pyton\.org’。或者直接使用原始字符串,如r’python.org’。
字符集:用方括号将一个字串括起来,创建一个所谓的字符集。这样的字符集与其包含的字符都匹配,如’[pj]ython’与‘python’和‘jython’都匹配,但不与其他字符串匹配。字符集只能匹配一个字符。要指定排除字符集,可在开头加^符号,例如 '[ ^abc ]‘与除a、b、c之外的其他任何字符都匹配。
二选一和子模式:二选一的管道字符为|,如python和perl二选一所需模式为‘python|perl’。然而,有时候不想将二选一运算符运用于整个模式,而只想将其用于模式的一部分,为此,可将这部分(子模式)放在圆括号内,如前面的例子可以重写为‘p(ython|erl)’。单个字符也可称为子模式。
可选模式和重复模式:通过在子模式后面加上问号,可将其指定为可选的,即可包含可不包含。例如:r’(http://)?(www.)?python.org’只与下面的字符串匹配:
‘http://www.python.org’
‘http://python.org’
‘www.python.org’
‘python.org’
问号表示可选子模式可出现一次,也可不出现,还有其他几个运算符永雨表示子模式可重复多次。 -
(pattern)*:pattern可重复0、1或多次;
-
(pattern)+:pattern可重复1次或多次;
-
(pattern){m,n}:模式可重复m~n次。
⚠️术语匹配指的是与整个字符串匹配,而函数match只要求模式与字符串开头匹配。
字符串的开头和末尾:在字符串开头查找模式匹配的字符串使用脱字符(‘^’),例如:‘ ^ht+p’与‘http://python.org’匹配,但与‘www.python.org’不匹配。在字符串末尾查找匹配的字符串使用美元符号(‘$’)。 -
模块re中的一些重要函数:
compile(pattern[, flags]):根据包含的正则表达式的字符串创建模式对象;
search(pattern, string[, flags]):在字符串中查找模式;
match(pattern, string[, flags]):在字符串开头匹配模式;如果希望与整个字符串匹配,需要在模式末尾加上一个美元符号;
split(pattern, string[, maxsplit=0]):根据模式来分割字符串;如果模式包含圆括号,将在分割得到的字串之间插入括号中的内容,例如:re.split(‘o(o)’, ‘foobar’)的结果是[‘f’, ‘o’, ‘bar’];
findall(pattern, string):返回一个列表,,其中包含字符串中所有与模式匹配的字串;
sub(pat, real, string[, count=0]):将字符串中与模式pat匹配的字串都替换为repl;
escape(string):对字符串中所有的正则表达式特殊字符都进行转义;它是一个工具函数,使用这个函数的情况有:字符串很长,其中包含大量的特殊字符,而你不想输入大量的反斜杠;或从用户那里获取了一个字符串,想将其用于正则表达式中。 -
编组:是放在圆括号内的子模式,它们是根据左边的括号数编号的,其中编组0指的是整个模式,例如:
‘There (was a (wee) (cooper)) who (lived in Fyfe)’包含如下编组:
0 There was a wee cooper who lived in Fyfe
1 was a wee cooper
2 wee
3 cooper
4 lived in Fyfe
re匹配对象的重要方法:
group([group1, …]):获取与给定子模式(编组)匹配的字符串;返回与模式中给定编组匹配的字串。如果没有指定编组号,则默认为0,如果只指定了一个编组号,将之返回一个字符串,否则返回一个元组,其中包含与给定编组匹配的字符串;
start([group]):返回与给定编组匹配的字串的起始位置;返回与给定编组(默认为0,即整个模式)匹配的字串的起始索引;
end([group]):返回与给定编组匹配的字串的终止位置(与切片一样,不包含终止位置);返回类似于start,但返回终止索引加1;
span([group]):返回与给定编组匹配的字串的起始位置和终止位置;返回一个元组,其中包含与给定编组匹配的字串的起始索引和终止索引。
python基础教程——开箱即用
最新推荐文章于 2024-11-12 23:15:59 发布
本文介绍了如何在Python中使用模块`re`进行正则表达式操作,包括import模块、查看模块内容、特殊字符转义、字符集、子模式、可选和重复模式、函数如search、match、split、findall、sub以及编组和匹配对象的方法如group、start、end和span。
摘要由CSDN通过智能技术生成