zoukankan      html  css  js  c++  java
  • Python爬虫之正则表达式(1)

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

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

    • '00d' 可以匹配‘007’,但是无法匹配‘00A’;
    • ‘ddd’可以匹配‘010’
    • ‘wwd’可以匹配‘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$表示必须以数字结束。

  • 相关阅读:
    FreeIPA部署及基本使用
    第7天:Django模板使用与表单
    第6天:数据库配置与模型
    第5天:基于类的视图与中间件
    linux下修改MySQL表名与表的字符编码
    webService理解(一)
    查询MySQL库下所有表名,数据为空的表名
    linux中MySQL连接找不到mysql.sock文件
    初步书写Webservice项目,运行后报错:Cannot assign requested address: bind
    linux配置jdk,MySQL环境
  • 原文地址:https://www.cnblogs.com/duxie/p/10025581.html
Copyright © 2011-2022 走看看