您当前的位置: 首页 >  正则表达式

稳扎稳打学爬虫04—正则表达式详解

发布时间:2022-01-22 15:44:01 ,浏览量:8

目录

    • 1、简介
    • 2、语法
    • 3、在线测试
      • 3.1 oschina
      • 3.2 菜鸟编程
    • 4、元字符
    • 5、量词
    • 6、贪婪匹配和惰性匹配
    • 7、案例
      • 7.1 匹配数字
      • 7.2 匹配英文
      • 7.3 匹配中文
      • 7.4 点
      • 7.5 点+星

1、简介

正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符")。是一种使用表达式的方式对字符串进行匹配的语法规则。

2、语法

使用元字符进行排列组合用来匹配字符串

3、在线测试

3.1 oschina

https://tool.oschina.net/regex

3.2 菜鸟编程

https://c.runoob.com/front-end/854/

4、元字符

元字符:具有固定含义的特殊字符
常用元字符:

符号 含义 符号 含义
. 匹配除换行符以外的任意字符
\w 匹配字母或数字或下划线 \W 匹配非字母或数字或下划线
\d 匹配数字 \D 匹配非数字
\s 匹配任意的空白符 \S 匹配非空白符
\n 匹配一个换行符 \t 匹配一个制表符
^ 匹配字符串的开始 $ 匹配字符串的结尾
a|b 匹配字符a或字符b ( ) 匹配括号内的表达式,也表示一个组
[…] 匹配字符组中的字符 [^…] 匹配除了字符组中的字符之外的所有字符

5、量词

控制前面的元字符出现的次数

符号 含义
* 重复零次或更多次
+ 重复一次或更多次
重复零次或一次
{n} 重复n次
{n,} 重复n次或更多次
{n,m} 重复n到m次

6、贪婪匹配和惰性匹配

符号 含义
.* 贪婪匹配
.*? 惰性匹配
在爬虫的编写过程中,我们使用最多的就是惰性匹配

某位大佬写的文章很详细
Python正则表达式指南

7、案例

7.1 匹配数字

s = '123abe123中国馆的' re_pat = '\d' #模式,提取数字 re.findall(re_pat,s) 

7.2 匹配英文

re_pat = '[A-z]+' #提取英文字母 re.findall(re_pat,s) # 返回值为列表形式 

7.3 匹配中文

re_pat = '[\u4c00-\u9fa5]+' #提取中文,括起来的是中文编码 re.findall(re_pat,s) # 返回值为列表形式 

7.4 点

7.5 点+星

关注
打赏
查看更多评论

暂无认证

  • 8浏览

    0关注

    115983博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录