首页 > 其他 > 详细

正则表达式

时间:2020-02-12 17:52:37      阅读:53      评论:0      收藏:0      [点我收藏+]

正则表达式

一种匹配字符串的表达式,使用re模块。正则表达式是一种独立的语法,和python没有任何的关系

一、功能

  • 可以制定一个规则
    • 来确认某一个字符串是否符合规则。
    • 从打断的字符串中找到符合规则的内容。
  • 程序领域
    • 登陆注册页面的表单验证
    • 爬虫
  • 自动化开发
    • 日志分析

二、基础的语法

(一)、元字符

    • 约束范围分类:
      • [A-Z]匹配字符串中所有的大写字母
      • [a-z]匹配字符串中所有的小写字母
    • 约束范围的混合使用
      • [0-9][A-Z][a-z]:
        • 首先表示的匹配的是三个字符,必须是三个,不能多也不能少。
        • 然后表示得是第一个字符必须是数字,第二个字符必须是大写字母,第三个字符必须是小写字母。

          字符组中的约束字符内在的依赖的条件是按照ASCII来进行的,每一个字符都对应一个ASCII标码,约束范围中字符的字符
          对应的ASCII码的顺序必须是从小往大,不能反过来,例如a-Z可以,但是A-z不行,因为A的编码比a的编码大。

  • 元字符
    • \d:等同于0-9,表示的是0-9之间的任意数字;d的全称digit
    • \w:等同于[0-9a-zA-z_],表示的是该字符可以是数字、大写字母、小写字母或者是下划线,其他的不能匹配, w全称word
    • \s:等同于任意制表符\t、空格和换行符\n,s的全称space
      • \n:单独的匹配换行符
      • \t:单独的匹配制表符
    • \D:匹配非数字
    • \W:匹配非数字、字母、下划线
    • \S:匹配非空白(制表符、空格和换行符)
    • [\w\W]、[\s\S]和[\d\D]都表示全集,即所有的字符都满足要求
    • \b:匹配一个单词的边界
      • 匹配单词的开头:字母\b,例如hello,匹配开头格式为:\bh
      • 匹配一个单词的结尾:\b字母, 例如hello,匹配结尾格式为:o\b
    • ^:匹配字符串的开始
    • $:匹配字符串的结尾
    • |:或关系,只能从两个中匹配一个,例如:a|b, 只能匹配a或者b
    • .:点号匹配换行符外的所有字符。如果要匹配点号必须使用转义字符,即.表示点号。
    • ?:表示的是把未匹配的字符也当作匹配上的字符,当使用?时需要注意的是当没有写任何内容的时候也表示匹配上了一个字符。
      使用?主要用在修饰的字符可有可无或者是这个字符可以选择的情况下,例如:\d.?\d里点号是可有可无的,整数和一位小数都符合要求
    • [^]: 匹配的是非字符组,即字符组里的字符都不能匹配。例如a[^abc]匹配第一个字符是a,第二个字符是abc以外的任意字符,^在这里起到的作用就是去反。
      除了这种情况,其他的情况^都在字符组外.

      需要注意的是:
      或关系两头如果有重合的部分,那么必须把长的一方放在‘|‘的前边

(二)、量词

量词限制的是字符的个数,即同一个字符出现的次数

  • 量词的使用必须用{}括起来,
  • 量词只能修饰前边一个字符,其他字符修饰不了,例如:[^a][\d]{4}匹配的是第一个字符是a以外的任意字符,然后是任意数字字符4个
  • 在数字后加上逗号表示重复至少几次,例如:[^a][\d]{4,}匹配的是第一个字符是a以外的任意字符,然后是任意数字字符至少4个
  • 在逗号后添加数值,表示最多可以重复几次。例如:[^a][\d]{4,9}匹配的是第一个字符是a以外的任意字符,然后是任意数字最少4个最多9个。
  • +:加号表示重复一次或者多次
  • ?:问号表示重复零次或者一次
  • *:表示重复零次或者任意多次

    、?和 使用的时候不能加{},其他的数字使用的时候必须加上{}

正则表达式

原文:https://www.cnblogs.com/ddzc/p/12299712.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!