python中正则表达式的应用

Python中正则表达式的应用与优化基础、操作与高级技巧 在本文中,我们详细探讨了 Python 中正则表达式的基础和高级用法,从简单的匹配、查找、替换到断言、优化技巧及多行匹配等多个方面进行了深入讲解。正则表达式是一个强大的文本处理工具,掌握它的使用能够显著提高工作效率。希望这篇完整的指南能够帮助你更好地理解和应用正则表达式,提升你在 Python 中处理文本的能力。 阅读详情

python中的正则表达式

  • 正则表达式用途
    正则表达式是用来(只用来)匹配字符串的;
    现实操作中python的字符串内置处理函数均为绝对处理,完全匹配的操作:
s = 'hello world'
#传统的字符串内置函数均为绝对匹配
print(s.find('o'))
ret = s.replace(' ','-')
print(ret)
'''
'''

但经常在应用中需要使用到模糊匹配的情况:
如:需要用户输入电话号码:
138********
对于用户输入的一串伪电话号码的字符串,需要判断:不包含字母、区号合法(移动138、电信189等等规则)、位数正确等等;(有人说这要求使用内置函数好像可以做出了,那么继续)
如:需要留网址,邮件等
http://www.*******.com/cn
******@*****.com/.cn
此时python字符串的内置函数就完全无法对其进行模糊处理,于是python中就需要一种更加强大的字符串匹配方式----正则表达式应运而生。

  • 正则表达式的方法
    1、findall():将所有结果返回到一个列表中

    import re
    ret = re.findall('ll','hello world')
    print(ret) #['ll']
    
    

    2、search():返回符合匹配的第一个
    对象,对象使用group()方式返回结果

    import re
    ret = re.search('ll','hello world')
    print(ret) # <_sre.SRE_Match object; span=(2, 4), match='ll'>
    print(ret.group()) # ll
    
    

    3、match:只在字符串开始匹配,符合即返回匹配到的对象

    import re
    ret = re.match('h','hello,honey')
    print(ret) # <_sre.SRE_Match object; span=(0, 1), match='h'>
    print(ret.group()) # h
    
    

    4、split:按要求分割字符串

    import re
    ret = re.split('o','hello,honey')
    print(ret) # ['hell', ',h', 'ney']
    
    

    5、sub:按要求替换字符串中指定内容

    import re
    ret = re.sub('o','O','hello,honey')
    print(ret) # hellO,hOney
    
    

    6、compile:将所需要的匹配规则编译成一个规则对象,供其他字符串处理方法使用

    import re
    obj = re.compile('com')
    ret = obj.findall('www.4399.com')
    print(ret) # ['com']
    
    
  • 正则表达式的元字符(特殊功能含义的符号)
    1、.:通配符 代值一个任意字符(不包括换行符)

    import re
    # . 通配符 代指一个任意字符(不包括换号符)
    ret = re.findall('w..l','hello world')  # 找到‘w开头中间随意两个字符,l结尾’
    print(ret)  # ['worl']
    ret = re.findall('w.l','hello w\nld')  # 换行符不包含在内
    print(ret)  # []
    

    2、^:尖角符 由字符起始处开始匹配

    import re
    # ^ 尖角符 匹配开始
    ret = re.findall('^h...o','hello world')    # 匹配以h加任意3个字符加o开始
    print(ret) # ['hello']
    ret = re.match('h...o','hello world')     # 从开始匹配,<_sre.SRE_Match object; span=(0, 5), match='hello'>
    print(ret.group()) # hello
    

    3、$:Dollar符 匹配字符串结尾处内容

    import re
    # $ dollar符 匹配结尾
    ret = re.findall('w...d$','hallo world')    # 匹配以w加3个任意字符加d结尾
    print(ret) # ['world']
    

    4、*:重复匹配符 重复匹配前一个字符,数量为0到正无穷,包含0个

    import re
    # * 重复匹配符 重复匹配前面一个字符(0到∞,包括0个)
    ret = re.findall('a.*l','fjsdjjsljaadedlfdsf') # 匹配以a开始,多个. 即多个任意字符,l结束
    print(ret) # ['aadedl']
    ret = re.findall('a.*l','ddsdaljfoe')       # 匹配0次
    print(ret) # ['al']
    

    5、+:重复匹配符 重复匹配前一个字符,数量为1到正无穷,包含1个

    import re
    # + 重复匹配符 重复匹配前面一个字符(1到∞,包括1个)
    ret = re.findall('a.+l','fjsdjjsljaadedlfdsf') # 匹配以a开始,多个. 即多个任意字符,l结束
    print(ret) # ['aadedl']
    ret = re.findall('a.+l','ddsdaljfoe')       # 匹配0次
    print(ret) # []
    

    6、?:判断符 闭区间的[0,1] 即前一字符的数量为0或1

    import re
    # ? 闭区间的[0,1] 只取0或者1个前一个字符
    ret = re.findall('a?b','gaaaabgffbn')          # 匹配以0/1个a开始,b结束
    print(ret)  # ['ab', 'b']
    

    7、{}:自定义区间 按自定义的区间取前一个字符

    import re
    # {} 自定义区间 按自定义区间取前一个字符 {1,}等价于+(即1到正无穷,推荐+)
    ret = re.findall('a{5}b','fbdaaaaabfdsffds')            # 匹配5个a开始 一个b结束
    print(ret)  # ['aaaaab']
    ret = re.findall('a{1,3}b','sddaaabf')                  # 匹配1到3个a开始,b结束(贪婪匹配,默认从最大的值开始匹配)
    print(ret) # ['aaab']
    

    以上得出如下结论:
    * 等于{0,正无穷} = {0,} 推荐使用*
    +等于{1,正无穷} = {1,} 推荐使用+
    ?等于{0,1} = {0,1} 推荐使用?
    8、[]:字符集 指定部分有字符集中的内容填充

    import re
    # [] 字符集 指定部分由字符集中内容填充
    #ret = re.findall('a[c,d,f]x','sadxfafxd')    # 匹配已a开始,c、f或d其中之一,x结束 
    ret = re.findall('a[cdf]x','sadxfafxd')    # 匹配已a开始,c、f或d其中之一,x结束 上面错误 不要用,隔开 ,号本身就是一个字符 []中所有元素均为或的关系
    print(ret)  # ['adx', 'afx']
    ret = re.findall('a[bcd]e','abce')
    print(ret) # []  匹配a加上一个b或c或d一个字符加e 上面存在2个
    ret = re.findall('[a-z]','adx')             # 匹配[a-z]范围的字符,即所有小写字母
    print(ret)  # ['a', 'd', 'x']
    

    注意:字符集具有取消元字符特殊功能的功能,如:

    import re
    # 字符集: 取消元字符的特殊功能
    ret = re.findall('[w,*]f','asda*fds')       # 匹配任意不具有含义的元字符 如已w或*开始,f结尾
    print(ret) # ['*f']
    

    再次注意:取消元字符特殊功能包含三个例外:
    \ \转义
    ^ ^在字符集中为取反的意思[^t] 即所有不为t的字符 [^4,5] 即所有不为4 和不为5的字符
    - -在字符集中具有特殊含义,代指范围,如[0-9],[a-z]等
    9、():分组 把多个字符分成一组进行处理

    import re
    # () 分组 把多个字符分成一个组进行处理
    print(re.search('(as)+','sdasasffsasffsf').group()) # asas 匹配第一个由1或多个个as分组
    
    ret = re.search('(?p<id>\d{2})/(?p<name>\w{3})','123/comr') # 命名分组
    print(ret.group())	# 23/com
    print(ret.group('id')	# 23
    print(ret.group('name')	# com
    
    ret = re.findall('www\.(\w+)\.com','www.baidu.com') # 当分组与常用并存是 默认只返回分组里面的内容 故出现如下现象
    print(ret) #['baidu']
    # 解决方法
    ret = re.findall('www\.(?:\w+)\.com','www.baidu.com') # 在分组最前端加?:关闭分组输出的优先级即可
    print(ret) # ['www.baidu.com']
    
    

    10、|管道符 或的意思

    import re
    # | 管道符 或的意思
    print(re.search('(as)|g','asdfsg').group()) # as  匹配第一个由as分组或者g
    
    

    11、\:反斜杠 反斜杠后面跟元字符去除元字符特殊功能 、反斜杠后面跟普通字符实现特殊功能

    \d 匹配任何10进制数:相当于[0-9]
    \D 匹配任何非数字字符:相当于[^0-9]
    \s 匹配任何空白字符:相当于[ \t\n\f\v]
    \S 匹配任何非空白字符:相当于[^ \t\n\f\v]
    \w匹配任何字母数字字符:相当于[a-zA-Z0-9]
    \W 匹配任何非字母数字字符:相当于[^a-zA-Z0-9]
    \b 匹配一个特殊边界,指单词和空格间的位置,或者特使字符¥%#等等

    import re
    print(re.findall('\d{4}','dsa39428')) #['3942']
    print(re.findall('\sgao','fdk gao')) #[' gao']
    print(re.findall('\wgao','dhsagao')) #['agao']
    print(re.findall(r'\bI','hello,I am a LIST')) #['I'] 如果后面一个LIST中的I后面跟的是特殊字符,也可以取到
    
    print(re.search('a.','adfks').group()) # ab
    print(re.search('a\.','adfks')) # None
    print(re.search('a\.','a.dfks').group()) # a.
    
    
  • 补充
    有关贪婪匹配与惰性匹配
    前面是*、+、?等都是贪婪匹配,也就是尽可能匹配,后面加?使其变成惰性匹配

import re

ret = re.findall('ab*','abbbj') # 贪婪匹配
print(ret) # ['abbb']

ret = re.findall('ab*?','abbbj') # 惰性匹配
print(ret) # ['a']

最后使用正则表达式写一个简单的计算器,不够完善,多多包涵:

#!-*- coding:utf-8 -*-
#date: 2020/4/18

# 计算器代码

import re


def add(a,b):
    print('%f+%f=%f'%(a,b,a+b))
    return a + b

def sub(a,b):
    print('%f-%f=%f' % (a, b, a - b))
    return a - b

def mul(a,b):
    print('%f*%f=%f' % (a, b, a * b))
    return a * b

def div(a,b):
    print('%f/%f=%f' % (a, b, a / b))
    return a / b

def spilt_num(x):
    # print(x)
    if '+' in x:
        num = x.split('+')
        return add(float(num[0]),float(num[1]))
    elif '-' in x:
        num = x.split('-')
        return sub(float(num[0]), float(num[1]))
    elif '*' in x:
        num = x.split('*')
        return mul(float(num[0]), float(num[1]))
    elif '/' in x:
        num = x.split('/')
        return div(float(num[0]), float(num[1]))

def search_first(x):
    ret = re.search('\([^()]+\)',x)
    if ret:
        return ret.group()
    else:
        return None
def search_second(x):
    ret = re.search('(\d+\.?\d*[\*,/]\d+\.?\d*)',x)
    if ret:
        return ret.group()
    else:
        return None
def search_third(x):
    ret = re.search('(\d+\.?\d*[\+,\-]\d+\.?\d*)',x)
    if ret:
        return ret.group()
    else:
        return None
def search_begin(x):

    if re.match('-\d+\.?\d*\+',x):
        s = re.match('-\d+\.?\d*\+\d+\.?\d*', x).group().split('+')
        a = re.match('-\d+\.?\d*\+\d+\.?\d*', x).group()
        s = s[1]+s[0]
        # print(s)
        return s,a
    elif re.match('-\d+\.?\d*\-',x):
        s = re.match('-\d+\.?\d*\-\d+\.?\d*', x).group().split('-')
        a = re.match('-\d+\.?\d*\-\d+\.?\d*', x).group()
        # print(s)
        s = '-' + str(float(s[1]) + float(s[2]))
        # print(s)
        return s,a
    else:
        return None



# search_begin('-1+2')

if __name__ == '__main__':
    while True:
        s = input('请输入你需要计算的式子:')

        if re.search('[a-zA-z\s]',s):
            # print(re.search('[a-zA-Z]',s))
            print('error')
            break
        a = s
        while True:
            if search_first(s):
                first = search_first(s)
                first1 = first.replace('(','').replace(')','')
                # print(first1)
                while True:
                    if search_second(first1):
                        first2 = search_second(first1)
                        first2_get = spilt_num(first2)
                        first1 = first1.replace(first2,str(first2_get))
                        # print(first1)
                        continue
                    elif search_begin(first1):
                        first2 = search_begin(first1)
                        first1 = first1.replace(first2[1], first2[0])
                        # print(first1)
                        continue
                    elif search_third(first1):
                        first2 = search_third(first1)
                        first2_get = spilt_num(first2)
                        first1 = first1.replace(first2, str(first2_get))
                        # print(first1)
                        continue
                    elif first1.find('--')!=-1:
                        # print(first1)
                        first1 = first1.replace('--','+')
                        # print(first1)
                        continue
                    else:
                        # print(first1)
                        break
                s = s.replace(first,first1)
                # print(s)
                continue

            elif search_second(s):
                second2 = search_second(s)
                # if second2.find('*')!=-1:
                second2_get = spilt_num(second2)
                s = s.replace(second2,str(second2_get))
                # print(s)
                continue
            elif search_begin(s):
                begin1 = search_begin(s)
                # print(begin1)
                s = s.replace(begin1[1], begin1[0])
                # print("@",s)
                continue
            elif search_third(s):
                third3 = search_third(s)
                third3_get = spilt_num(third3)
                s = s.replace(third3,str(third3_get))
                # print("!",s)
                continue
            elif s.find('--') != -1:
                # print(s)
                s = s.replace('--','+')
                # print(s)
                continue
            else:
                print('%s=%s'%(a,s))
                break

# 本代码仅供参考


MATLAB闪退别慌!5分钟搞定Windows系统预设文件修复(附详细截图) 本文针对MATLAB在Windows系统下频繁闪退的问题,提供了快速有效的解决方案。核心在于修复或重置损坏的MATLAB预设文件,通过图文并茂的五步法,指导用户定位AppData目录、重命名预设文件夹,从而让MATLAB自动生成全新配置以解决闪退。文章还涵盖了问题诊断、设置备份及进阶排查方法,帮助用户彻底根除启动故障。 阅读详情

相关推荐

STM32基于软件模拟IIC进行AHT21B温湿度采集

通过学习软件IIC来进行实操AHT21B采集温湿度。

Liu-FE的博客 3700

常用的正则表达式

基本符号: ^ 表示匹配字符串的开始位置 (例外 用在中括号中[ ] 时,可以理解为取反,表示不匹配括号中字符串) $ 表示匹配字符串的结束位置 * 表示匹配 零次到多次 + 表示匹配 一次到多次 (至少有一次) ? 表示匹配零次或一次 . 表示匹配单个字符 | 表示为或者,两项中取一项 ( ) 小括号表示匹配括号中全...

weixin_30932215的博客 454

从零开始:TexLive(Latex)安装与配置全指南

本文提供了一份详尽的TexLive(Latex)安装与配置全指南,旨在帮助用户从零开始快速搭建LaTeX工作环境。内容涵盖从镜像下载、安装步骤详解、环境验证到高效编辑器(如VS Code)配置,并特别强调了中文排版支持与宏包管理,确保用户能顺利处理学术论文等专业文档的排版需求。

weixin_29284885的博客 903

python3 RE正则(正则表达式)

一、正则表达式 1.正则表达式概述   正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符")。正则表达...

weixin_33779515的博客 566

普中科技ESP8266-01s模块CWJAP:3 FAIL报错?手把手教你用AT+CWSAP指令搞定WiFi配置

本文详细解析了普中科技ESP8266-01s模块常见的CWJAP:3 FAIL报错问题,并提供了通过AT+CWSAP指令正确配置WiFi的实战解决方案。文章涵盖错误根源分析、硬件连接指南、AT指令详解及高级调试技巧,帮助开发者快速解决ESP8266-01s模块的WiFi配置难题。

weixin_42653691的博客 202

PRD撰写效率翻倍秘籍:我是如何用大模型+飞书文档搭建自动化工作流的

本文分享了如何利用大模型与飞书文档构建自动化工作流,以大幅提升PRD撰写效率。通过结构化需求输入、设计模块化提示词模板,并借助自动化脚本桥接数据与文档,产品经理可将繁琐的文档撰写工作自动化,从而将精力聚焦于产品战略与用户洞察。

weixin_28520495的博客 405

正则表达式的简单说明

标识符 说明 备注 \d 0-9任意一个数字 \w 任意一字母或者下划线或数字, a-z,A-Z,0-9 和 _ \s 包括空格,制表符,换行符等空白字符的其中一个 . 小数点可以匹配任意字符(除了换行符 ),如果要匹配包含“\n”在内的所有字符,一般使用[\s\S] [] 自定义符集合 [abc@]:匹配,a,b,c或者@ 。 [^abc]:匹配,abc之外的任意字符。 [^ A-F0-3]:匹配:A到F,0到3之外的任意字符 ^ 字符集内是取反...

weixin_42855103的博客 565

python 正则表达式

python 正则表达式

lizhenqi123456的博客 735

影楼精修-肤色统一算法解析

本文介绍了影楼精修中肤色统一算法的实现方案,并以像素蛋糕软件为例进行详细分析。肤色统一旨在通过调整人像照片中皮肤区域的颜色,使其看起来更加均匀一致。像素蛋糕软件提供了AI肤色统一和传统肤色统一两种功能,分别适用于不同需求。传统肤色统一算法通过皮肤分割、人脸检测、亮度统一和颜色统一等步骤,实现了对皮肤区域的精细调整。文章还提供了亮度统一的核心代码,并对比了传统算法与AI算法的效果,指出AI算法在自然度和亮度矫正方面表现更优。整体而言,本文为影楼精修中的肤色统一提供了实用的技术参考。

Trent1985的专栏 2068

DA14531之搭建开发环境

DA14531之搭建开发环境

hejinwu1314的博客 1778

字符后第一个数字 正则_Python正则表达式就是这么简单【新手必学】

前言本篇文章带大家快速入门正则表达式的使用,正则表达式的规则不仅适用python语言,基本大多数编程语言都适用,在日常使用中极为广泛,读者们有必要学好正则表达式。看完这篇文章,读者们要理解什么是正则表达式,正则表达式的规则,常见的正则表达式示例,如何在python中使用函数进行正则表达式操作;二 正则表达式的概念正则表达式是指在一串字符串中使用特殊的模式匹配获得子串,我们可以对获得的子串进行提取,...

weixin_32126555的博客 1651

YOLOv11改进 | 缝合CCFM轻量检测模型实现高精度跨尺度特征融合【附参考代码】

YOLOv11作为一代优秀的端到端目标检测模型,已经在速度和精度之间取得了较好的平衡。但其默认的Neck结构(通常为FPN + PAN)在处理小目标与多尺度信息时,仍存在信息流冗余、跨尺度特征融合不充分等问题。 本文提出一种轻量化的跨尺度跨通道融合模块(CCFM, Cross-scale and Cross-channel Fusion Module),以替代或增强YOLOv11中的Neck部分,有效提升特征表达能力和检测性能,尤其是在小目标和复杂场景下取得显著涨点。

一键难忘的博客 1414

python中正则表达式的简单应用_python中正则表达式的简单介绍(附代码)

本篇文章给大家带来的内容是关于python中正则表达式的简单介绍(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。在python中正则表达式被封装到了re模块,通过引入re模块来使用正则表达式re模块中有很多...

weixin_33056525的博客 416

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Python中正则表达式的应用

开题 在写这篇文章前,我花了很长一段时间来思考:我们学习一门技术,究竟从哪几个方面去去理解和掌握呢? 经过与一些行业内行业外专家探讨得出了一个结论,大致上是这样三个方面:技术的产生,技术的原理,和技术的配置(实施或是实现)。 就像是有个人得了感冒,你得知道他是热伤风,还是风寒,亦或是病毒性的支原体衣原体感染。才能对症下药,否则一股脑的吃下所有药,药效并不好,药力也会互相抵消。 我学Pyth...

weixin_30907523的博客 123

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

python中正则表达式的应用大全

正则表达式 应用场景 处理/判断用户提供的数据 爬虫(数据清洗) 快速提取数据 创建流程 导入re模块 match方法匹配 group提取 import re ret = re.match(正则表达式,需要处理的字符串) ret.group() 匹配单个字符 注: 只取一位: \d 一位数字(0-9) [1-36-8] 连续数字 可断开(只有一位 等同于[123678])(并...

weixin_44850984的博客 1550

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

025:Python中正则表达式的应用

正则表达式相关知识 在编写处理字符串的程时,经常会遇到在一段文本中查找符合某些规则的字符串的需求,正则表达式就是用于描述这些规则的工具,换句话说,可以使用正则表达式来定义字符串的匹配模式,即如何检查一个字符串是否有跟某种模式匹配的部分或者从一个字符串中将与模式匹配的部分提取出来或者替换掉。 举一个简单的例子,如果你在Windows操作系统中使用过文件查找并且在指定文件名时使用过通配符(*和?),那么正则表达式也是与之类似的用 来进行文本匹配的工具,只不过比起通配符正则表达式更强大,它能更精确地描述你的需

JY631591678的博客 307

python中正则表达式基本应用

python中正则表达式基本应用 基本应用 import re match_re = re.match(".*?(\d+).*", str_value) if match_re: data = match_re.group(1) 在线正则表达式测试 在线正则表达式测试网页 re模块 re.match(pattern,string, flags=0) 1)简述:从第一个字符开始搜索,如果...

weixin_42428357的博客 869

python中正则表达式的简单应用_Python中正则表达式的应用

开题在写这篇文章前,我花了很长一段时间来思考:我们学习一门技术,究竟从哪几个方面去去理解和掌握呢?经过与一些行业内行业外专家探讨得出了一个结论,大致上是这样三个方面:技术的产生,技术的原理,和技术的配置(实施或是实现)。就像是有个人得了感冒,你得知道他是热伤风,还是风寒,亦或是病毒性的支原体衣原体感染。才能对症下药,否则一股脑的吃下所有药,药效并不好,药力也会互相抵消。我学Python基础的总时间...

weixin_39881760的博客 239

python中正则表达式的简单应用_Python中正则表达式的用法实例汇总

(Create an object with details about how the regex object matches (part of) a string)reobj = re.compile(regex)match = reobj.search(subject)if match:# match start: match.start()# match end (exclusive):...

weixin_39940770的博客 240

python中正则表达式的基本应用

ps:默认匹配顺序为从左至右 re.match() 原型:match(pattern, string, flags = 0) pattern:要匹配的正则表达式 string:要匹配的字符串 flags:标志位,用于控制正则表达式的匹配方式 re.I 忽略大小写 re.L 作本地用户识别 re.M 多行匹配,影响’ ^ ‘和’ $ ‘两个元字符 re.S ’...

sinat_40067162的博客 210

re库:Python中正则表达式的处理与应用

目录前言查找文本多重匹配 前言 re库就是我们常说的正则表达式库,它是用一种形式化语法来描述的文本匹配模式。通过该库,我们可以匹配特定字符串中的一些内容,比如爬取网页内容时,我们可以通过re库获取网页内容中的所有标签内容。 本篇将详细讲解re库的使用规则。 查找文本 比如,在一串字符串文本中,我们需要查找一个子字符串是否在该字符串中,并返回其具体的位置索引,该怎么做呢? import re content = "My name is Li Yuanjing" pattern = "name" match

李元静 5242

正则表达式在python中的应用_python中正则表达式的应用讲解

这篇文章主要介绍了python正则表达式的使用,需要的朋友可以参考下python的正则是通过re模块的支持匹配的3个函数match :只从字符串的开始与正则表达式匹配,匹配成功返回matchobject,否则返回none;re.match(pattern, string, flags=0) ##flags标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等。search :将字符...

weixin_39700397的博客 76

python中正则表达式的简单应用_Python正则表达式的简单应用和示例演示

前一阵子小编给大家连续分享了十篇关于Python正则表达式基础的文章,感兴趣的小伙伴可以点击链接进去查看。今天小编给大家分享的是Python正则表达式的简单应用和示例演示,将前面学习的Python正则表达式做一个概括。下面的栗子是用于提取高考日期,一般来说,我们填写日期都会写2018年6月7日,但是也有很多人会写成2018/6/7、2018-6-7、2018-06-07等,还有的人可能会写为201...

weixin_39949584的博客 104
上一篇: python常用模块os sys time random logging等
下一篇: python面向对象编程
gqf960708
博客等级 码龄9年 5粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值