python-正则的使用

模块:一组功能的集合

模块实际上就是给我们提供功能

模块的类型:

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

re模块

1.在python中使用正则表达式
2.正则表达式

正则表达式

在线正则表达式测试工具
http://tool.chinaz.com/regex/
是一种独立的规则,独立的语言
只和字符串打交道

1.从大段文字中找到符合规则的内容
a.爬虫 :从网页的字符串中获取你想要的的数据
b.日志分析:

2.判断某个字符串是否完全符合规则
a.表单验证:手机号 qq号码 邮箱 身份证 密码 银行卡

正则表达式的规则

规则 字符串 从字符串中找到符合规则的内容

字符组:[ ] 写在中括号中的内容,都出现在下面的某一个字符的位置上都是符合规则(从小到大)
[0-9] 匹配数字
[a-z] 匹配小写字母
[A-Z] 匹配大写字母 [A-z] 不可以[a-Z]
[a-zA-Z0-9] 匹配字母数字
[a-zA-Z0-9_] 匹配字母数字以及下划线

转义符

\ 转移
取消转入 r print(r'\n') 取消转移的意思

元字符

\w 匹配数字字母下划线 word关键字 [a-zA-Z0-9]
\d 匹配所有的数字 digit [0-9]
\s 匹配所有的空白符 space (回车 空格 tab)[\n\t ]
\t 匹配tab
\n 匹配回车
匹配空格
\W 匹配不是字母数字下划线
\D 匹配不是数字的
\S 匹配不是空白符等
\b 表示单词的边界
ing\b 匹配ing结尾
\by 匹配以y开头
^ 匹配一个字符串的开始
^hello 匹配hello开始
匹配一个字符串的结束 hello 匹配hello结尾
. 匹配除了换行符之外的所有
[] 只要出现在中括号内的内容都可以匹配
[^] 只要不出现在中括号中的内容都可以匹配
有一些有特殊意义的元字符进入字符组中会恢复本来的意义
| 或 a|b 符合a规则的或者b规则的都可以被匹配
如果a规则是b规则的一部分,且a规则比b规则要苛刻/长,就把a规则写在前面
将更复杂的或者更长的规则写在最前面
() 分组 表示给几个字符加上量词约束的需求的时候,就给这些量词分在一个组

匹配手机号

image.png

量词

{n}表示 这个量词之间的字符出现n次
{n,}表示 这个量词之前的字符至少出现n次
{n,m}表示 出现n次到m次
? 表示匹配这个量词之前的字符出现0次或1次,表示可有可无
+ 表示匹配量词之前的字符出现1次或者多次
* 表示匹配量词之前的字符出现0次或多次

匹配一个小数

image.png

小练习
匹配整数 \d+
匹配小数 \d+.\d+
匹配小数或者整数 \d+(.\d+)?

正则表达式的匹配特点:贪婪匹配
它会在允许的范围内取最长的结果
非贪婪模式/惰性匹配:在量词的后面加上?
.*?x 匹配任意非换行字符任意长度,直到遇到x就停止

匹配身份证(15位或者18位)
110107201910102277
11010720191010227x
220205200010507

方式一
^[1-9]\d{16}[\dx]|[1-9]\d{14}
方式二
[1-9]\d{14}(\d{2}[\dX])?

匹配生日2018-12-04

^[1-9]\d{0,3}-(1[0-2]|0?[1-9])-(3[01]|[12]\d|0?[1-9])$

匹配QQ号

^[1-9]\d{4,11}$

匹配11位的电话号码

 1[3-9]\d{9}

匹配长度8-10位的用户密码:包含数字字母下划线

\w{8,10}

匹配验证码,4位数字字母组成

[\da-zA-Z]{4}

匹配邮箱地址

[0-9a-zA-Z][\w\-.]+@[a-zA-Z0-9\-]+(\.[a-zA-Z0-9\-]+)*\.[A-Za-z0-9]{2,6}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,928评论 6 509
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,748评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,282评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,065评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,101评论 6 395
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,855评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,521评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,414评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,931评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,053评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,191评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,873评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,529评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,074评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,188评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,491评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,173评论 2 357

推荐阅读更多精彩内容