快速学习正则表达式

一、正则表达式概述

(一)概述:

        正则表达式,regular expression 简称:Regex,是一种用于匹配和处理文本的强大工具。它由一系列特定的符号和规则组成,可以用来搜索、替换、拆分等操作。正则表达式可用于各种编程语言和文本编辑器中,具有广泛的应用场景。

(二)目的:

        用于校验, 匹配数据的, 判断数据是否符合 我们指定的 规则。

(三)用法:

        1. 导包.   import re

        2. 正则匹配.

                  result = re.match(正则表达式, 要校验的字符串, 额外功能:例如忽略大小写 多行模式等)

        匹配的意思, 从左往右依次逐个匹配。

                result = re.search(正则表达式, 要校验的字符串, 额外功能:例如忽略大小写 多行模式等)

        查找的意思, 任意的一段能匹配上即可。

                 result = re.compile(pattern=正则表达式).sub('用来替换的内容', '要被替换的字符串')

        3. 获取匹配结果. result.group() 获取匹配结果, 分组编号不写, 默认是: 0

(四)正则表达式常用元字符

        1、:匹配任意字符(除换行(\n)符外)。

        2、:匹配前一个字符的0个或1个实例。

        3、:匹配前一个字符的1个或多个实例。

        4、:匹配前一个字符的0个或多个实例。

        5、{n} :匹配前一个字符的n个实例。

        6、{n,} :匹配前一个字符的至少n个实例。

        7、{n,m} :匹配前一个字符的至少n个但不超过m个实例。

        8、\d :匹配任意一个数字字符,等价于[0-9]。

        9、\D :匹配任意非数字字符,等价于[^0-9]。

        10、\s :匹配任意空白字符(包括空格、制表符、换页符等)。

        11、\S :匹配任意非空白字符。

        12、:匹配行的开头。

        13、| :代表:或者的意思

        14、:匹配行的结尾。

        15、 (?P<name>) :起名字的, 给分组起名字.

                (?P=name)  :根据名字, 引用分组

(五)案例展示

        # 需求: 匹配出 163, 126, qq等这些邮箱.

        # 邮箱规则: 4-13位数字字母_ @ 163或者126或者qq .com

代码如下:

# 1. 导包.
import re

# 2. 校验邮箱
# 细节: \. 表示取消.的特殊含义, 使其成为1个普通的.
result = re.match('[a-zA-Z0-9_]{4,20}@(163|126|qq)\.(com|cn)', '3673123321@qq.com')


# 3. 判断, 并打印.
if result:
    info = result.group()
    print(f'匹配到: {info}')

    # 扩展: 打印下不同分组的内容.
    print(f"组0: {result.group(0)}") # hello123321@qq.com
    print(f"组1: {result.group(1)}") # qq
    print(f"组2: {result.group(2)}") # com
else:
    print('未匹配!')

  • 11
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值