Python正则表达式中,如何使用compile对象和match对象的属性及方法?

2026-06-10 22:191阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计881个文字,预计阅读时间需要4分钟。

Python正则表达式中,如何使用compile对象和match对象的属性及方法?

文章目录:+ compile对象属性(compile函数生成的正则表达式对象属性)+ flags参数扩展+ 示例例子+ match对象的属性方法 + 1. 属性变量 + 2. 属性方法


文章目录

  • ​​compile对象属性(compile函数生成的正则表达式对象的属性)​​
  • ​​flags参数扩展​​
  • ​​举个例子​​
  • ​​match对象的属性方法​​
  • ​​1.属性变量​​
  • ​​2.属性方法​​
  • ​​举个例子​​


compile对象属性(compile函数生成的正则表达式对象的属性)

属性

含义

flags

flags值

pattern

表示对象的正则表达式

groups

表示正则表达式中有几个子组

groupindex

返回:字典{组名:组序列号}

flags参数扩展

flags参数扩展

1.使用该参数的函数
re模块调用的匹配函数。如:re.compile,re.findall,re.search…

2.作用
扩展丰富正则表达式的匹配功能

3.常用flag

常用flag

flag含义

使用说明

A

ASCII

使元字符只能匹配ascii码

I

IGNORECASE

匹配忽略字母大小写

S

DOTALL

使 可以匹配换行(如果不扩展功能,一般情况下,是无法匹配换行的)

M

MULTILINE

使 ​​^​​​和 ​​$​​​可以匹配每一行的开头和结尾位置(如果不扩展功能,则​​^​​​和​​$​​只能匹配每个目标字符串的开头和结尾位置)

X

VERBOSE

为正则添加注释

备注1:这些flags参数值都是re模块中的常量。同时,他们也是re模块的属性,所以使用它们时,我们要用的方式去调用,比如re.A。

备注2:由下面的例子,我们也看到了,这些flags值,实际上都是整数。

举个例子

代码和结果放在一起:

十进制32–>二进制10000。regex.flags的二进制为10000时,表示不添加任何附加功能。


十进制34–>二进制10010。regex.flags的二进制为10010时,表示附加功能为re.I。


match对象的属性方法

1.属性变量

属性

含义

pos

匹配的目标字符串开始位置

endpos

匹配的目标字符串结束位置

re

正则表达式

string

目标字符串

lastgroup

最后一组的名称

lastindex

最后一组的序号

2.属性方法

方法

含义

span()

获取匹配内容的起止位置

start()

获取匹配内容的开始位置

end()

获取匹配内容的结束位置

groupdict()

获取捕获组字典,组名为键,对应内容为值

groups()

获取子组对应内容

group(n = 0)

获取match对象匹配内容

group(n = 0)
功能:获取match对象匹配内容
参数:默认为0表示获取整个match对象内容,如果是序列号或者组名则表示获取对应子组内容
返回值:匹配字符串

举个例子

代码:

输出结果:

Python正则表达式中,如何使用compile对象和match对象的属性及方法?

本文共计881个文字,预计阅读时间需要4分钟。

Python正则表达式中,如何使用compile对象和match对象的属性及方法?

文章目录:+ compile对象属性(compile函数生成的正则表达式对象属性)+ flags参数扩展+ 示例例子+ match对象的属性方法 + 1. 属性变量 + 2. 属性方法


文章目录

  • ​​compile对象属性(compile函数生成的正则表达式对象的属性)​​
  • ​​flags参数扩展​​
  • ​​举个例子​​
  • ​​match对象的属性方法​​
  • ​​1.属性变量​​
  • ​​2.属性方法​​
  • ​​举个例子​​


compile对象属性(compile函数生成的正则表达式对象的属性)

属性

含义

flags

flags值

pattern

表示对象的正则表达式

groups

表示正则表达式中有几个子组

groupindex

返回:字典{组名:组序列号}

flags参数扩展

flags参数扩展

1.使用该参数的函数
re模块调用的匹配函数。如:re.compile,re.findall,re.search…

2.作用
扩展丰富正则表达式的匹配功能

3.常用flag

常用flag

flag含义

使用说明

A

ASCII

使元字符只能匹配ascii码

I

IGNORECASE

匹配忽略字母大小写

S

DOTALL

使 可以匹配换行(如果不扩展功能,一般情况下,是无法匹配换行的)

M

MULTILINE

使 ​​^​​​和 ​​$​​​可以匹配每一行的开头和结尾位置(如果不扩展功能,则​​^​​​和​​$​​只能匹配每个目标字符串的开头和结尾位置)

X

VERBOSE

为正则添加注释

备注1:这些flags参数值都是re模块中的常量。同时,他们也是re模块的属性,所以使用它们时,我们要用的方式去调用,比如re.A。

备注2:由下面的例子,我们也看到了,这些flags值,实际上都是整数。

举个例子

代码和结果放在一起:

十进制32–>二进制10000。regex.flags的二进制为10000时,表示不添加任何附加功能。


十进制34–>二进制10010。regex.flags的二进制为10010时,表示附加功能为re.I。


match对象的属性方法

1.属性变量

属性

含义

pos

匹配的目标字符串开始位置

endpos

匹配的目标字符串结束位置

re

正则表达式

string

目标字符串

lastgroup

最后一组的名称

lastindex

最后一组的序号

2.属性方法

方法

含义

span()

获取匹配内容的起止位置

start()

获取匹配内容的开始位置

end()

获取匹配内容的结束位置

groupdict()

获取捕获组字典,组名为键,对应内容为值

groups()

获取子组对应内容

group(n = 0)

获取match对象匹配内容

group(n = 0)
功能:获取match对象匹配内容
参数:默认为0表示获取整个match对象内容,如果是序列号或者组名则表示获取对应子组内容
返回值:匹配字符串

举个例子

代码:

输出结果:

Python正则表达式中,如何使用compile对象和match对象的属性及方法?