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常用的正则表达式,持续更新<<的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式大全——持续更新中。。。

php 正则表达式匹配(持续更新)

python常用正则表达式

常用正则表达式集合

前端Util.js-ES6实现的常用100多个javaScript简短函数封装合集(持续更新中)

Python正则表达式及常用匹配