# -*- coding: utf-8 -*-
import re str_0 = 'Aqin1012Heheheaaaaaaahehe如何da' def re_str(re_str_0,str_0):
test=re.match(re_str_0, str_0)
if test:
print("匹配成功~")
print(test.group(0)) # group()函数 提取以()分组的字符串 group(0):整体 group(1):第一个括号匹配部分;以此类推
else:
print("匹配的失败!") # 贪婪模式:从右边(后面)开始匹配
# 非贪婪模式:从左边(前面)开始匹配 ?表示进入非贪婪模式
re_str_1='.*(he).*'
re_str_2='.*?(he).*?'
re_str(re_str_1,str_0)
re_str(re_str_2,str_0) # ^a 表示以a开头的字符串(只匹配一次)
# . 表示任意字符(只匹配一次)
# * 表示前面的字符可以出现任意次(0/多次匹配)
# a$ 表示以a结尾的字符串(只匹配一次) re_str_3 = '^A.*' # 表示以'A'开头的任意字符 # 匹配函数 re.match(匹配的格式,要匹配的字符串) # + 表示前面的字符至少出现一次
# {n} 控制前面字符的出现
# a{2} a出现至少2次
# a{3,4} a出现至少3次最多4次
# a{3,} a出现最少3次
re_str_4 = 'a.{3}a' # 表示a与a之间有三个字符 # | 表示或,无()则对整个字符串起作用
# [] 表示其中任意 [abcd]:a/b/c/d中任意一个 [0-9]:在0-9区间内 [^字符]:非该字符
# \d 表示数字 # \A 进匹配字符串开头
# \Z 进匹配字符串结尾 re_str_5='.*(1[0-9]{10}).*' # 常用实例
# [\u4e00-\u9fa5]:所有汉字(unicode编码)
str_1="呵呵额呵呵qqqq呵呵额呵呵"
re_str_6='[\u4e00-\u9fa5].*'
re_str(re_str_6,str_1) # ^[1-9]\d*$
# 匹配正整数
# ^-[1-9]\d*$
# 匹配符合邮箱
# [\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?
# 匹配网址
# [a-zA-z]+://[^\s]*
# 匹配国内电话号码
# \d{3}-\d{8}|\d{4}-\{7,8}
# 匹配邮政编码
# [1-9]\d{5}(?!\d)
# 匹配身份证号
# ^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$
# 匹配年月日
# ([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8])))
今天莫名其妙地感觉不对,啥都不想说了