首页
学习
活动
专区
圈层
工具
发布

Python进阶-正则匹配

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

re 模块的一般使用步骤:

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

① 验证手机号

总长度11位

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

代码语言:javascript
代码运行次数:0
复制
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
代码运行次数:0
复制
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
代码运行次数:0
复制
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
代码运行次数:0
复制
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)
下一篇
举报
领券