正则表达式


一.模块的定义
一组功能的集合(要和某个本身就存在的东西打交道,,而这个东西本身和python没有关系,

python提供了一个功能的集合,专门负责和这个东西打交道)

模块的类型:
  内置模块:不需要我们自己安装的,解释器自带的
  第三方模块:需要我们自己安装的模块
  自定义模块:自己写的模块


  import os #这里的os就是一个模块,用来操作文件,文件这个东西就是本身就存在的,
  且文件本身与python没有关系,os模块就是和文件打交道的
  os.remove() #模块中的方法
  os.rename()

二.re模块:为了在python中使用正则表达式
正则表达式是一种独立的规则,独立的语言

引用正则表达式主要为了完成两件事:
  1.把一个文件中的所有手机号码都找出来 从大段的文字中找到符合规则的内容 如:爬虫,日志分析
  2.输入手机号 判断这个字符串是否完全符合规则 如:表单验证,手机号,QQ号,邮箱,银行卡,身份证号码,密码

三.正则表达式的规则
  正则表达式(只和字符串打交道,从字符串中找到符合规则的内容)
  在线测试工具:http://tool.chinaz.com/regex/
  1. 字符组:[]写在中括号中的内容,如[0-9]中的任意一个出现在某一个字符的位置上都是符合规则的
    字符组
    正则带匹配字符匹配结果解释说明
    [0-9]zrtygh546481fttr5 4 6 4 8 1匹配所有的数字
     [a-z] zrtygh546481fttr z r t y g h f t t r 匹配所有的小写字母
     [A-Z] ASFR几乎hiu56 A S F R 匹配所有的大写字母
     [a-zA-Z]  ASFR几乎hiu56 A S F R h i u

     匹配所有的大小写字母

    (一定要根据ascii码的顺序来选择a-z和A-Z的顺序)

    [a-zA-Z0-9]ASFR几乎hiu56A S F R h i u 5 6

    匹配大小写字母和数字

    (a-z和A-Z的顺序不可以换0-9是可以在任意位置的)

    [a-zA-Z0-9_]ASFR几乎hiu56A S F R h i u 5 6 _

    匹配数字字母下划线

a-z的ascii码是65-90

A-Z的ascii码是97-122

元字符:

元字符匹配内容解释
\w匹配所有的数字字母下划线w是Word开头相当于[a-zA-Z0-9_]
\d匹配所有的数字d是digit的开头,相当于[0-9]
\s匹配所有的空格,回车,制表符s是space的开头,相当于[\n\t  ]
\n匹配换行符(回车) 
\t匹配制表符(tab) 
 匹配空格 
\W与\s取反,匹配除数字字母下划线外的所有 
\D与\d取反,匹配除数字外的其他所有 
\S与\s取反,取除空格外的所有 

[\s\S][\d\D][\w\W]

表示全集,匹配所有字符 

\b

表示单词的边界 
^匹配一个字符串的开始 
$匹配一个字符串的结束对^$前后换行也支持,选中此项,每一行的开始和结束都有一个开始和结束字符,否则只有整个文本的开头和结束有
.表示匹配除换行之外的所有字符 
[]只要出现在中括号内的内容都可以被匹配[ab]----单个a和单个b都可以被匹配
[^]只要不出现在中括号中的内容都可以被匹配单个出现也不会被匹配
a|b或,符合a规则的符合b规则的都可以被匹配如果a规则是b规则的一部分,或a规则比b规则要苛刻,就要把a规则写在前面,默认先看前面
()分组表示想给几个字符串量词约束的时候,需要把这些量词分在一个组

量词:

量词用法说明
{n}表示这个量词之前的字符出现n次
{n,}表示这个量词之前的字符至少出现n次
{n,m}表示这个量词之前的字符出现n-m次
?表示匹配量词之前的字符出现0次或1次
+表示匹配量词之前的字符出现1次或多次
*表示匹配量词之前的字符出现0次或多次

正则表达式的匹配特点:贪婪匹配(它会在允许的范围内取最长的结果)

非贪婪模式/惰性匹配:在量词后面加上?

  如:  .*?x

转载于:https://www.cnblogs.com/shanghongyun/p/9488475.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值