python re.match函数的具体使用

作者:胡小牧 时间:2023-07-31 13:16:28 

1 re.match 说明

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

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

python re.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)

打印的结果如下

python re.match函数的具体使用

可以看到匹配的的下标是(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)

打印结果如下

python re.match函数的具体使用

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())

打印结果如下

python re.match函数的具体使用

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())

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

python re.match函数的具体使用

添加是否匹配判断

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("没有匹配到内容")

打印结果如下

python re.match函数的具体使用

这样会走到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("没有匹配到内容")

打印结果如下:

python re.match函数的具体使用

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 为了增加可读性,忽略空格和 # 后面的注释

来源:https://blog.csdn.net/qq_33210042/article/details/116794784

标签:python,re.match
0
投稿

猜你喜欢

  • Python中字典及遍历常用函数的使用详解

    2021-06-25 13:06:03
  • layui文件上传实现代码

    2024-05-22 10:36:34
  • 阿里云ECS服务器部署django的方法

    2023-04-09 10:00:26
  • JavaScript 限制文本框不可输入英文单双引号的方法

    2024-04-25 13:06:56
  • 用原生js做单页应用

    2024-04-16 09:51:27
  • Python基于smtplib协议实现发送邮件

    2021-03-02 07:26:36
  • Python OpenCV一个窗口中显示多幅图像

    2023-12-09 19:38:04
  • BigPipe:高性能的"流水线技术"网页

    2010-11-02 12:47:00
  • Python print函数:如何将对象打印输出

    2023-03-26 23:07:16
  • Javascript实现单选框效果

    2024-04-23 09:06:42
  • JavaScript观察者模式(经典)

    2024-04-22 22:42:05
  • Python用Try语句捕获异常的实例方法

    2021-07-14 10:28:54
  • 详细讲解Access数据库远程连接的实用方法

    2008-11-28 16:34:00
  • 梅尔频率倒谱系数(mfcc)及Python实现

    2021-08-11 11:06:39
  • Python+Pygame绘制小球的实例详解

    2022-10-12 10:48:50
  • html注释书写规范

    2008-08-13 13:06:00
  • opencv 图像轮廓的实现示例

    2023-07-21 15:37:17
  • 详解前端自动化工具gulp自动添加版本号

    2023-08-09 14:48:41
  • Vue配置文件vue.config.js配置前端代理方式

    2023-07-02 16:39:06
  • Facebook开源一站式服务python时序利器Kats详解

    2023-11-13 18:29:13
  • asp之家 网络编程 m.aspxhome.com