pathon 第6节 正则表达式

正则表达式

Payton 正则表达式 使用的re 模块。正则表达式在处理字符串的时候使用,用处很大。

元字符

正则表达式的描述。

7-2

^ 表示字符串是以什么字符开始,匹配每一行的开始。$ 表示以字符串以什么字符结束匹配每一行的结束。

7-4

查找字符串中的单词,以两个

第一个表示一个单词开始;

第二个 表示一直到一个单词结束;

stw* 表示这个这个单词是以st开始然后是任意的字母、数字、下划线字符最后是单词的结束

7-9

std{2}:表示这个单词以st开始然后是两个数字,最后是单词的结束。

7-10

{}中间的符合表示限定符

7-11

使用[] 表示[]内的任意一个字符都是匹配的。

如”[a-z]”表示a-z的任意一个字符均可以匹配,同理”[0-9]”表示任意一个数字。

7-12

也可以使用排除字符操作。如[^a-z]则表示a-z之外的任意字符。

表达式也可以使用条件表达或 |

“(d{1})|(d{2})” 每一表达式用() 限定其范围,然后用| 进行连接。

7-13

如果一个表达式的太多,使用\太麻烦,可以使用表达式字符串前面加r的方式解决。

7-14

1.match 方法

re.match(pattern,string,flag)

pattern:正则表达式的模式字符串;

string:要查找的字符串;

flag:可选参数:如是否区分字母大小写。

但是这个方法是从字符串的开始位置即第一个单词开始进行匹配。如果开始的位置不能匹配则不再进行查找直接返回none。比较适合查找字符串的起始字符是否符合要求的字符串。

7-1

7-3

2.search() 方法

re.search(pattern,string,[flags])

pattern:模式字符串;

string:要查找的字符串;

flags:同7-1

此方法是从字符串开始一直找到最后找到第一个匹配的字符,找到后返回match对象,否则返回None。

7-5

3.findall()方法

用于在字符串中从头到尾查找所有匹配表达式的字符串。找到的子串以列表的方式返回。

re.findall(patter,string,[flag])

参数同上面的函数一样。

7-6

4.替换字符串

sub()方法用于实现字符串替换。

re.sub(pattern,rep1,string,count,flags)

rep1:表示要被替换的字符串;

count:子串匹配后被替换的最大次数;

7-7

5.使用正则表达式分割字符串

re.split(pattern,string,[maxsplit],[flags])

maxsplit:最大的拆分次数

7-8