前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python进阶-正则匹配

Python进阶-正则匹配

作者头像
小团子
发布2019-07-18 15:27:08
4.1K0
发布2019-07-18 15:27:08
举报
文章被收录于专栏:数据云团数据云团

用于处理字符串的强大工具,通常被用来检索和替换那些符合规则的文本。

re 模块的一般使用步骤:

  • 使用 compile() 函数将正则表达式以字符串形式编译为一个 Pattern 类型的对象。
  • 通过 Pattern 对象提供的一系列方法对文本进行查找或替换,得到一个处理结果。
  • 使用处理结果提供的属性和方法获得信息,如匹配到的字符串。

① 验证手机号

总长度11位

第一位为1,第二位为[3-9],第3-11位[0-9]

代码语言:javascript
复制
import re

def checkMobile(strData):
  pattern = r"^1[3-9]\d{9}$"
  res = re.findall(pattern, strData)
  print(res)

② 验证QQ号

最少5位,最长11位

5位是10001起始

一般以QQ:/qq:开始

代码语言:javascript
复制
impoet re

def checkQQ(strData):
  pattern = r"qq:[1-9]\d{4,10}"
  res = re.findall(pattern, strData, re.I)
  print(res)

③ 验证邮箱

xxx(不定长)@xx(不定长).com/cn

代码语言:javascript
复制
import re

def checkMobile(strData):
  pattern = r"\w{0,19}@[0-9a-z-A-Z]{1,13}\.[com,cn,net]{1,3}"
  res = re.findall(pattern, strData, re.I)
  print(res)

④ 验证身份证

身份证 ID

第一位表示 [1-6]

第2-6位表示 [0-9]{5} 或 \d{5}

第7位 [12]

第8、9、10位 [0-9]{3} 或 \d{3}

第11、12位 (0[1-9] | 1[12])

第13、14位 (0[1-9] | 1[0-9] | 2[0-9] | 3[01])

第15、16、17位 [0-9]{3} 或 \d{3}

第18位 [0-9] | X | x 或 (\d | X | x)

代码语言:javascript
复制
import re

def checkID(strData):
  pattern = r"^[1-6]\d{5}[12]\d{3}(0[1-9]|1[12])(0[1-9]|1[0-9]|2[0-9]|3[01])\d{3}(\d|X|x)$"
  res = re.match(pattern, strData)
  print(res)
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-04-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据云团 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档