码迷,mamicode.com
首页 > 编程语言 > 详细

Python 24天 正则表达式

时间:2018-10-10 17:08:12      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:元字符   数字   手机号   字符   单元   过滤   字符串操作   reg   生日   

正则表达式是对字符串操作的一种逻辑公式. 我们一般使用正则表达式对字符串进行匹配和过滤.

由普通字符和元字符组成

元字符:

  1)字符组: 用[] 括起来的内容会被匹配  逐个匹配

  2)简单元字符:

    .  匹配除换行符以外的任意字符

    \w 匹配字母或数字或下划线

    \s 匹配任意的空白符

    \d 匹配数字

    \n 匹配一个换行符

    \t 匹配一个制表符

    \b 匹配一个单词的结尾

    ^ 匹配字符串的开始

    $ 匹配字符串的结尾

    \W 匹配非字母或数字或下划线

    \D 匹配非数字

    \S 匹配非空白符

    a|b 匹配字符a或字符b

    () 匹配括号内的表达式,也表示一个组

    [...] 匹配字符组中的字符

    [^...] 匹配除了了字符组中字符的所有字符

  3)量词

  一次性匹配很多个字符

  * 重复零次或更多次

  + 重复一次或更多次

  ? 重复零次或一次

  {n} 重复n次

  {n,} 重复n次或更多次

  {n,m} 重复n到m次

  4)惰性匹配和贪婪匹配

  在量词中 * + {} 都属于贪婪匹配  可以尽可能所得得到结果

    str: 麻花藤昨天让英雄联盟关服了
    reg: 昨天.*    匹配的是:昨天让英雄联盟关服了

  .*? 表示惰性匹配 尽可能少的匹配

  .*?x的特殊含义 找到下一个x为止.

  5)分组
  在正则中使用()分组

  身份证匹配:    ^[1-9]\d{14}(\d{2}[0-9X])?$   新旧都可以

  手机号  :  ^(13|17|15|18)\d{9}

  生日  :^(1\d{3}|20\d{2})-(((01|0[3-9]|[10-12])-(1[0-9]|2[0-9]|3[0-1]))|(02-(1[0-9]|2[0-9])))


    







    

Python 24天 正则表达式

标签:元字符   数字   手机号   字符   单元   过滤   字符串操作   reg   生日   

原文地址:https://www.cnblogs.com/sophie99/p/9767188.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!