189 8069 5689

Python的compile函数语法是什么

这篇文章主要介绍“Python的compile函数语法是什么”,在日常操作中,相信很多人在Python的compile函数语法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python的compile函数语法是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

成都创新互联是一家专业提供红古企业网站建设,专注与做网站、成都网站制作、H5开发、小程序制作等业务。10年已为红古众多企业、政府机构等服务。创新互联专业网站设计公司优惠进行中。

compile 函数

compile 函数用于编译正则表达式,生成一个正则表达式( Pattern )对象,供 match() 和 search() 这两个函数使用。

语法格式为:

re.compile(pattern[, flags])

参数:

  • pattern : 一个字符串形式的正则表达式

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

实例

>>>importre

>>>pattern =re.compile(r'\d+')                    # 用于匹配至少一个数字

>>>m =pattern.match('one12twothree34four')        # 查找头部,没有匹配

>>>print(m)

None

>>>m =pattern.match('one12twothree34four',2,10)# 从'e'的位置开始匹配,没有匹配

>>>print(m)

None

>>>m =pattern.match('one12twothree34four',3,10)# 从'1'的位置开始匹配,正好匹配

>>>print(m)                                        # 返回一个 Match 对象<_sre.SRE_Matchobjectat0x10a42aac0

> >>>m.group(0)  # 可省略 0

'12'

>>>m.start(0)  # 可省略 0

3

>>>m.end(0)    # 可省略 0

5

>>>m.span(0)    # 可省略 0

(3,5)

在上面,当匹配成功时返回一个 Match 对象,其中:

  • group([group1, …]) 方法用于获得一个或多个分组匹配的字符串,当要获得整个匹配的子串时,可直接使用 group() 或 group(0)

  • start([group]) 方法用于获取分组匹配的子串在整个字符串中的起始位置(子串第一个字符的索引),参数默认值为 0;

  • end([group]) 方法用于获取分组匹配的子串在整个字符串中的结束位置(子串最后一个字符的索引+1),参数默认值为 0;

  • span([group]) 方法返回 (start(group), end(group))

到此,关于“Python的compile函数语法是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


网页名称:Python的compile函数语法是什么
网站地址:http://cdxtjz.cn/article/jopsdp.html

其他资讯