zoukankan      html  css  js  c++  java
  • 读《精通正则表达式(第三版)》笔记

    • 字符组[]与多选结构()的区别:
      一个字符组只能匹配目标文本中的单个字符,
      而每个多选结构自身都可能是完整的正则表达式,都可以匹配任意长度的文本。

    • 多选结构()后面如果没有量词(?、*、+),可以去掉()
      因此:/(abc)/等价于/abc/

    • 问:
      [^xxx]:匹配一个不是x的字符,还是匹配一个不是xxx的字符?
      答:
      元字符作用于紧邻的字符,因此[^xxx]:匹配一个不是x的字符
      如果想匹配一个不是xxx的字符,可以用多选结构()[^(xxx)]

    • 区别:
      ^q:以q开头
      [^q]:不是字符q(在字符组中,表示不是的意思)

    • 区别:
      [q|Q]:q或|或Q
      [qQ]:匹配q或Q,等价于(q|Q)

    • 区别:
      12.05:点号代表任意字符
      [12.05]:字符组里,元字符点号只是代表点号

    • 区别:
      [0-9]:连字符不在字符组的开头,就是表示范围
      [-0-9]:匹配连字符和一个数字

    • [0-9]等同于d:代表一位数字;
      [a-z0-9A-Z_]等同于w(如果只考虑英文的话):代表一个数字、英文字母或下划线

    • [\/] 代表可以是也可以是/

    • ():匹配并捕获,?::匹配非捕获,?=:非匹配

    • /.js(?.*)?$/匹配:.js、.js?、.js?xxx
      .:任意一个字符
      .*:0个或多个字符

  • 相关阅读:
    为django项目创建虚拟环境
    linux下安装python
    使用scrapy-crawlSpider 爬取tencent 招聘
    linux基础3
    Scrapy
    scrapy-Redis 分布式爬虫
    scrapy-redis(一)
    Linux中文件上传使用rz
    centos 7 安装nginx
    MySQL 5.7 zip 文件安装过程
  • 原文地址:https://www.cnblogs.com/cag2050/p/10075262.html
Copyright © 2011-2022 走看看