Python标准库及例程
一、re库(正则表达式)
- 邮箱验证:^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$
- 密码强度验证(最少八个字符,至少一个大写字母,一个小写字母和一个数字):^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[^\n]{8,}$
- 18 位身份证号验证:^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$
- IP 地址验证:^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$
- 手机号验证:^(0|86|17951)?(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{8}$
import time import re import random def genStr(): global sigma s = "" for i in range(32): s += sigma[random.randint(0,15)] return s sigma = "0123456789ABCDEF" regex = re.compile(r'[1-2][^2-8][D-F]0+[A-F]') count = 1 start = time.perf_counter() match = regex.search(genStr()) while not match: count += 1 match = regex.search(genStr()) print("程序匹配:猜测{}次, {}->{}".format(count, match.string, match.group(0))) end = time.perf_counter() print("程序用时:{:.5f}秒".format(end-start))

浙公网安备 33010602011771号