python re.match函数的具体使用

 更新时间:2023年02月13日 10:36:05   作者:胡小牧  
本文主要介绍了python re.match函数的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

1 re.match 说明

re.match()  从开始位置开始往后查找,返回第一个符合规则的对象,如果开始位置不符合匹配队形则返回None

从源码里面看下match 里面的内容

里面有3个参数 pattern ,string ,flags 

pattern : 是匹配的规则内容

string : 要匹配的字符串

flag : 标志位(这个是可选的,可写,可不写),用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等

下面写一个demo

str_content = "Python is a good language"  # 要匹配的内容, 对应match 里面的string
str_pattern = "Python"  # pattern 匹配的规则
re_content = re.match("Python", str_content)
print(re_content)

打印的结果如下

可以看到匹配的的下标是(0,6) 匹配的内容是Python

2 span 的使用

如果想获取匹配的下标,可以使用span ,

match span 的作用就是返回匹配到内容的下标

使用方式如下

import re  # 导入re 模块
 
str_content = "Python is a good language"  # 要匹配的内容, 对应match 里面的string
str_pattern = "Python"  # pattern 匹配的规则
re_content = re.match("Python", str_content).span()
print(re_content)

打印结果如下

3 group 的使用

如果想获取匹配到结果的内容可以使用group ,注意使用group的时候就不要在使用span 了

import re  # 导入re 模块
 
str_content = "Python is a good language"  # 要匹配的内容, 对应match 里面的string
str_pattern = "Python"  # pattern 匹配的规则
re_content = re.match("Python", str_content)
print(re_content.group())

打印结果如下

4 匹配不到内容的情况

如下面的返回结果为None

import re  # 导入re 模块
 
str_content = "Python is a good language"  # 要匹配的内容, 对应match 里面的string
str_pattern = "Python"  # pattern 匹配的规则
re_content = re.match("python", str_content)
print(re_content)
# 或者
 
str_content = "Python is a good language"  # 要匹配的内容, 对应match 里面的string
str_pattern = "Python"  # pattern 匹配的规则
re_content = re.match("is", str_content)
print(re_content)

5 使用group 注意点

注意当匹配不到内容的时候就使用group 或者span 的时候会报错,所以当使用group 的时候 先判断下是否匹配到内容然后在使用它

例如匹配不到内容的情况下使用group

import re  # 导入re 模块
 
str_content = "Python is a good language"  # 要匹配的内容, 对应match 里面的string
str_pattern = "Python"  # patterPn 匹配的规则
re_content = re.match("python", str_content)
print(re_content.group())

这样会报错,报错内容如下

添加是否匹配判断

import re  # 导入re 模块
 
str_content = "Python is a good language"  # 要匹配的内容, 对应match 里面的string
str_pattern = "Python"  # patterPn 匹配的规则
re_content = re.match("python", str_content)
if re_content:
    print(re_content.group())
else:
    print("没有匹配到内容")

打印结果如下

这样会走到else 里面就不会报错了

6 flag 的使用

写一个忽略大小写的情况

import re  # 导入re 模块
 
str_content = "Python is a good language"  # 要匹配的内容, 对应match 里面的string
str_pattern = "Python"  # patterPn 匹配的规则
re_content = re.match("python", str_content, re.I)
if re_content:
    print(re_content.group())
else:
    print("没有匹配到内容")

打印结果如下:

flags : 可选,表示匹配模式,比如忽略大小写,多行模式等,具体参数为:

  • re.I 忽略大小写
  • re.L 表示特殊字符集 \w, \W, \b, \B, \s, \S 依赖于当前环境
  • re.M 多行模式
  • re.S 即为 . 并且包括换行符在内的任意字符(. 不包括换行符)
  • re.U 表示特殊字符集 \w, \W, \b, \B, \d, \D, \s, \S 依赖于 Unicode 字符属性数据库
  • re.X 为了增加可读性,忽略空格和 # 后面的注释

到此这篇关于python re.match函数的具体使用的文章就介绍到这了,更多相关python re.match内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解如何使用python脚本制作生成CANdbc

    详解如何使用python脚本制作生成CANdbc

    这篇文章主要为大家详细介绍了如何使用python脚本制作生成CANdbc,文中的示例代码讲解详细,具有一定的学习价值,感兴趣的小伙伴可以了解下
    2024-01-01
  • Python有序查找算法之二分法实例分析

    Python有序查找算法之二分法实例分析

    这篇文章主要介绍了Python有序查找算法之二分法,结合实例形式分析了Python二分查找算法的原理与相关实现技巧,需要的朋友可以参考下
    2017-12-12
  • keras的ImageDataGenerator和flow()的用法说明

    keras的ImageDataGenerator和flow()的用法说明

    这篇文章主要介绍了keras的ImageDataGenerator和flow()的用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • python 实现多线程的三种方法总结

    python 实现多线程的三种方法总结

    这篇文章主要介绍了python 实现多线程的三种方法总结,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • 端午节将至,用Python爬取粽子数据并可视化,看看网友喜欢哪种粽子吧!

    端午节将至,用Python爬取粽子数据并可视化,看看网友喜欢哪种粽子吧!

    端午节快要到了,旅游?回家?拜访亲友?少不了要带上粽子.那么:选择什么牌子的粽子呢?选择什么口味的粽子呢?选择什么价格区间呢?今天爬取了京东上面的 “粽子数据” 进行分析,看看有啥发现吧!,需要的朋友可以参考下
    2021-06-06
  • 基于Python数据结构之递归与回溯搜索

    基于Python数据结构之递归与回溯搜索

    今天小编就为大家分享一篇基于Python数据结构之递归与回溯搜索,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • Flask处理Web表单的实现方法

    Flask处理Web表单的实现方法

    这篇文章主要介绍了Flask处理Web表单的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • 深入理解NumPy简明教程---数组1

    深入理解NumPy简明教程---数组1

    这篇文章主要介绍了深入理解NumPy简明教程(二、数组1),NumPy数组是一个多维数组对象,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2016-12-12
  • python3.6之xlwt如何设置单元格对齐方式

    python3.6之xlwt如何设置单元格对齐方式

    这篇文章主要介绍了python3.6之xlwt如何设置单元格对齐方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • 从基础到进阶带你玩转Python中的JSON

    从基础到进阶带你玩转Python中的JSON

    JSON是一种轻量级的数据交换格式,在Python中处理JSON数据是日常开发中的常见任务之一,本文将详细介绍如何在Python中处理JSON对象,需要的可以参考下
    2024-12-12

最新评论