python常用的正则表达式,持续更新<<
Posted aqin1012
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python常用的正则表达式,持续更新<<相关的知识,希望对你有一定的参考价值。
# -*- 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])))
今天莫名其妙地感觉不对,啥都不想说了
以上是关于python常用的正则表达式,持续更新<<的主要内容,如果未能解决你的问题,请参考以下文章