爬虫学习01正则表达式

##正则表达式
正则表达式是一段字符串,可以表示一段有规律的的信息。python自带一个正则表达式的模块,通过这个模块可以查找,提取,替换一段有规律的信息

程序开发中,让计算机从一大段文本之中找到需要的信息,就需要用到正则表达式

使用正则表达式的步骤:
寻找规律
使用正则符号表示规律
提取信息

正则表达式的基本符号
1.点号"."
一个点号可以代替除了换行符以外的任何一个字符,包括但不限于英文字母、数字、汉字、英文标点符号和中文标点符号。例如以下

kingname
kinabcme
kin123me
kin我是谁me
kin嗨你好me
kin"m"me

这些字符的前三个字符都是“kim”后两个字符是“me”所以用正则表达式可以写成kin…me 多少个点表示之间有多少个字

2."*"
一个星号表示它前面的一个子表达式(普通字符,另一个或者几个正则表达式符号)0到无限次

例如以下几个不同的字符串:

如果快乐你就笑哈
如果快乐你就笑哈哈
如果快乐你就笑哈哈哈哈
如果快乐你就笑哈哈哈哈哈哈哈哈哈

这些字符串里面,“哈”字重复出现,所以如果用星号来表示,那么就可以全部变成:

如果快乐你就笑哈*

由于星号可以表示它前面的字符0次,所以即使写成“如果快乐你就笑”,没有“哈”字,也是满足这个正则表达式的。

既然星号可以表示它前面的字符,那么如果它前面的字符是一个点号呢?例如下面这个正则表达式:

.*

表示在“如”和“哈”中间出现“任意多个除了换行符以外的任意字符”。

3.问号"?"
问号表示它前面的子表达式0次或者1次,注意这里的问号是英文的
例如”

笑起来。
笑起来哈。

因为”来“和”。“之间有零个或者多个”哈“,所以可以用下列正则表达式表示为:

笑起来哈?。

问号的最大作用是与“.”和"*“配合起来使用构成”.*?"。通过其提取信息,用到最多的就是这个组合
下面的所有字符串:

如哈
如果快乐哈    
如果快乐你就笑哈    
如果你知道1+1=2那么请计算地球的半径哈

都可以用 “如.*?哈” 表示

猜你喜欢

转载自blog.csdn.net/Pang_ling/article/details/102926568