专栏首页python3Python爬虫之正则表达式(1)

Python爬虫之正则表达式(1)

廖雪峰正则表达式学习笔记

1:用\d可以匹配一个数字;用\w可以匹配一个字母或数字;

  • '00\d' 可以匹配‘007’,但是无法匹配‘00A’;
  • ‘\d\d\d’可以匹配‘010’
  • ‘\w\w\d’可以匹配‘py3’;

2:.可以匹配任意字符;

  • 'py.'可以匹配'pyc''pyo''py!'等等。

3:在正则表达式中,要匹配变长字符:

  1. *表示任意个字符(包括0个);
  2. +表示至少一个字符;
  3. 表示0个或1个字符;
  4. {n}表示n个字符;
  5. {n,m}表示n-m个字符;
  6. \s 可以匹配一个空格(也包括Tab等空白符);
  7. ‘-’是特殊字符,在正则表达式中,用‘\’转义;

4:复杂例子:\d{3}\s+\d{3,8}

  • \d{3}表示匹配3个数字,例如‘010’
  • \s+表示至少一个空格,例如匹配‘ ’‘  ’等;
  • \d{3, 8}表示3-8个数字,例如‘1234567’

5:要做更精确地匹配,可以用[]表示范围

  • [0-9a-zA-Z\_]可以匹配一个数字、字母或者下划线;
  • [0-9a-zA-Z\_]+可以匹配至少由一个数字、字母或者下划线组成的字符串,比如'a100''0_Z''Py3000'等等;
  • [a-zA-Z\_][0-9a-zA-Z\_]*可以匹配由字母或下划线开头,后接任意个由一个数字、字母或者下划线组成的字符串,也就是Python合法的变量;
  • [a-zA-Z\_][0-9a-zA-Z\_]{0, 19}更精确地限制了变量的长度是1-20个字符(前面1个字符+后面最多19个字符)。

A|B可以匹配A或B,所以(P|p)ython可以匹配'Python'或者'python'

^表示行的开头,^\d表示必须以数字开头。

$表示行的结束,\d$表示必须以数字结束。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • python3正则表达式笔记

    [a-zA-Z\_][0-9-zA-Z\_]*匹配一个由字母和下划线开头,后接任意数字字母和下划线组成的字符串

    py3study
  • Python GUI(Tkinter)初

    py3study
  • 正则表达式字符组/元字符/量词

    二.字符组-- [] 写在中括号中的内容,都出现在下面的某一个字符的位置上都是符合规则的

    py3study
  • Amazon DynamoDB

    DynamoDB 是Amazon最新发布的NoSQL产品,那什么是DynamoDB呢?

    阳光岛主
  • GO笔记之为什么要学习GO

    之类问题经常出现在眼前。以前学语言时倒没怎么关心过这类问题。今年公司由于新业务需要开始全面从PHP转型到Golang。所以我学习它也就是为了工资。额?不能这么俗...

    波罗学
  • 【leetcode】分治/动态规划/贪心/递归/迭代

    JNingWei
  • Tuxedo多人使用tmadmin命令时,如何强制停止服务

    需要重启Tuxedo应用时,提示:LIBTUX_CAT:577: ERROR: Unable to register because the slot is a...

    bisal
  • 研究人员开发AI系统,从临床记录中预测急性肾损伤风险

    急性肾损伤(AKI)是一种肾脏突然无法过滤血液中的废物的情况,可能会破坏危重病人的肾脏系统。如果超过第二阶段(AKI分为三个阶段),死亡率可接近89%。如果在腹...

    AiTechYun
  • 脑电实验注意事项及实验过程中伪迹识别

    今天Rose小哥分享一篇群友 Tina关于脑电实验的学习笔记,感谢脑机群友Tina的分享。

    脑机接口社区
  • Spotify开发味蕾(Tastebuds)恢复音乐社交功能(Apps)

    Spotify正在开发一种查看朋友们收听内容的新方式,名为“味蕾”(Tastebuds)。尽管发现音乐本质上是社交的,但Spotify在2017年删除了自己的收...

    邱邱邱邱邱

扫码关注云+社区

领取腾讯云代金券