# -*- 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])))
今天莫名其妙地感觉不对,啥都不想说了
原文地址:https://www.cnblogs.com/aqin1012/p/11648172.html
时间: 2024-10-11 04:35:45