python正则小结

本文介绍了正则表达式的基本概念、作用以及在Python中的使用方法,包括re.match和re.search的区别,以及常用正则规则和匹配操作。
摘要由CSDN通过智能技术生成
正则表达式介绍:
    概述:
        全称是 Regular Expression, 正则表达式, 即: 正确的, 符合特定规则的式子.
    作用:
        校验, 匹配数据的.
    细节:
        1. 学正则就是学正则表达式的 规则, 不要背, 因为这么多年了, 校验邮箱, 校验手机...等一些列的规则前辈们都写出来, 网上一搜一堆.
        2. 我讲正则的目的: 能用我们学的规则, 看懂别人写的 (正则表达式)式子, 且会根据需求修改即可.
        3. 正则不独属于任意的一门语言, Java, Python...都支持, 且: 正则规则都是一样的, 不同的是 写法不一样.

    Python中 正则的使用步骤:
        1. 导包
            import re
        2. 正则校验.
            re.match(pattern=正则表达式, str, flag)       参1: 正则表达式,  参2: 要校验的字符串, 参3:可选项, 例如: 忽略大小写, 多行模式等.
            re.search(pattern=正则表达式, str, flag)
            re.compile(正则表达式).sub(用来替换的内容, 要被替换的内容)
        3. 获取匹配结果.
            result = re.group()
    上述函数 介绍:
        match:  匹配的意思, 从左往右, 逐个字符进行匹配, 不会跳过任意的1个字符, 要求: 全部匹配才行.
        search: 查找的意思, 从左往右, 从任意的某个字符开始, 只要能匹配上即可.
        compile: 用于替换的.

正则步骤:

import re                                   #导包
result = re.search('','')     #从左往右,从任意某个字符开始,能找到就行,先输入正则,后输入需要判定的字符串
result = re.match('','')      #从左往右,不会跳过任何一个字符,必须全部符合,先输入正则,后输入需要判定的字符串

if result:                                 #判定
    print(result.group())                  #result.group()接收判定成功的结果
else:
    print('未匹配')

正则通用规则:

.           任意一个字符
        \.          转义,使.成为单纯的.  校验邮箱的时候用, 例如: zhangsan@163.com中的.
        a           单纯的一个字符a
        [abc]       在abc中任意取一字符
        [^abc]      异或上述
        \d          [0-9]   digit
        \D          异或上述
        \s          whitespace \n,\t,空格等
        \S          异或上述
        \w          word  汉字,数字,大小写英文字母,非特殊符号,下划线_
        \W          异或上述

        ^           以什么开头,  在类似[^abc]中表达取非
        $           以什么结尾

        ?           数量词:只出现一次或零次
        +           数量词:出现超过1次,包含1次 [1,+∞]
        *           数量词:出现超过0次,包含0次 [0,+∞]
        {n}         数量词:只出现n次
        {n,}        数量词:出现 [n,+∞)次
        {n,m}       数量词:出现 [n,m]次

        |           或
        ()          分组
        \num        引用第几组

        扩展:
            (?P<分组名>)    给分组起名  
            (?P=分组名)     引用分组

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值