0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

浅析python字符串模式匹配

jf_78858299 来源:梯阅线条 作者:小梯子 2023-02-23 15:04 次阅读

python字符串可以通过re模块的模式匹配来处理文本。

1.1 match()

用法

match(pattern, string, flags=0)

描述

从字符串(string)的开头应用模式(pattern),返回匹配对象(match),如果未找到匹配内容,返回None。

入参

pattern:模式,即要匹配的规则,或者叫正在表达式

string:字符串,即要匹配的内容

flags:标志,用于控制正则表达式的匹配方式,比如是否区分大小写,多行匹配等,默认为0。

出参

匹配成功,返回match,否则,返回None。

示例

下面例子,搜索子字符串(pat),以’梯阅线条’开始,后面跟着0个或几个空格或制表符([ \\t]*),注意是用[]包含, 表示0个或几个,接着有任意字符并将其保存至匹配的group中,注意任意字符用’. ’表示,()表示匹配的group,第1个()表示group(1),第n个()表示group(n),最后以’学习’结尾。

>>> import re
>>> pat='梯阅线条[ \\t]*(.*)学习'
>>> strs='梯阅线条软件测试梯阅线条python字符串re模块模式匹配学习'
>>> mat=re.match(pat,strs)
>>> print(mat)
...

1.2 group()

用法

group([group1, ...]) -> str or tuple.

描述

索引或名称返回匹配的字符串或元组。

入参

不送或送0,表示返回整个字符串。

送groupn,表示返回点n个分组,这里的n对应正则表达式里面的()的位置,从1开始。

送group1,group3,表示返回第1和第3个分组组成的元组。

出参

字符串或元组。

示例

>>> import re
>>> pat='/(.*)/(.*)/(.*)'
... 
>>> strs='/梯阅线条/python学习/re模块group'
... 
>>> re.match(pat,strs)
...

1.3 groups()

用法

groups(self, /, default=None)

描述

返回包含匹配的所有子组的元组,从1开始。

入参

default,表示未匹配到的分组的默认值,默认为None。

出参

元组

示例

注意:?(和*类似)表示前面的内容为0个或几个。d+表示匹配数字,.*表示匹配任意内容(此时没有匹配到这返回空字符非None)。

>>> re.match('/(.*)/(.*)/?(d+)?','/梯阅线条/python学习').groups()
...                        
('梯阅线条', 'python学习', None)
>>> re.match('/(.*)/(.*)/?(d+)?','/梯阅线条/python学习').groups('groups用法')
...                        
('梯阅线条', 'python学习', 'groups用法')
>>> re.match('/(.*)/(.*)/?(.*)?','/梯阅线条/python学习').groups()
...                        
('梯阅线条', 'python学习', '')
>>> re.match('/(.*)/(.*)/*(d+)*','/梯阅线条/python学习').groups()
...                        
('梯阅线条', 'python学习', None)
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编程语言
    +关注

    关注

    10

    文章

    1945

    浏览量

    34750
  • 字符串
    +关注

    关注

    1

    文章

    579

    浏览量

    20525
  • python
    +关注

    关注

    56

    文章

    4797

    浏览量

    84711
收藏 人收藏

    评论

    相关推荐

    python字符串拼接方式了解

    python字符串拼接的方式 在Python的实际开发中,很多都需要用到字符串拼接,python字符串
    发表于 12-06 10:09 1034次阅读

    学习Tcl来这里:字符串匹配

    这里可以看到[a-z0-9]和[a-z][0-9]是不同的,前者匹配一个字符,后者匹配两个字符,其种一个为字母,另一个为数字,所以字符串9s
    的头像 发表于 09-21 11:14 5582次阅读

    C语言字符串匹配和数据提取源码

    C语言字符串匹配与数据提取源码
    的头像 发表于 02-27 15:42 2407次阅读
    C语言<b class='flag-5'>字符串</b><b class='flag-5'>匹配</b>和数据提取源码

    教你7个Python判断字符串是否包含子的方法

    教你7个Python判断字符串是否包含子的方法
    的头像 发表于 08-17 10:52 5101次阅读
    教你7个<b class='flag-5'>Python</b>判断<b class='flag-5'>字符串</b>是否包含子<b class='flag-5'>串</b>的方法

    什么是复制字符串Python如何复制字符串

    连续几篇文章都在写 Python 字符串,这出乎我的意料了。但是,有的问题,不写不行,特别是那种灵机一动想到的问题,最后你发现,很多人根本不懂却又误以为自己懂了。那就继续刨根问底,探究个明白吧
    发表于 11-25 10:32 3019次阅读

    2.2 python字符串类型

    2.2 python字符串类型 1. 如何定义字符串字符串Python中最常用的数据类型之一。 使用单引号或双引号来创建
    的头像 发表于 02-17 17:08 1433次阅读

    探究字符串模式匹配的高级数据结构和算法

    在讲解算法之前,先定义两个概念,方便后面讲解。他们分别是主(S)和模式(P)。比如说要在字符串A中查找字符串B,那么A就是主
    的头像 发表于 11-07 11:29 978次阅读

    Python-字符串

    字符串就是 一字符 ,是编程语言中表示文本的数据类型,在Python中使用一对双引号 "" 或者一对单引号来定义.
    的头像 发表于 02-16 15:05 1148次阅读
    <b class='flag-5'>Python</b>-<b class='flag-5'>字符串</b>

    什么是字符串

    Python 中有很多数据类型,字符串是其中的一种
    的头像 发表于 02-23 14:55 6194次阅读
    什么是<b class='flag-5'>字符串</b>

    python字符串序列操作和不可变性

    初识python字符串序列操作和不可变性。python字符串序列操作为序列通用操作,python字符串
    的头像 发表于 02-23 15:01 868次阅读

    python字符串有哪些特定方法

    python字符串序列操作也适用于列表和元组。 python字符串还有独有方法,即字符串对象的函数,其他对象不可调用,只有
    的头像 发表于 02-23 15:02 712次阅读

    Python中检查字符串包含的方法

    Python 有多种处理字符串的方法。今天我们介绍如何检查一个字符串中是否包含另一个字符串
    的头像 发表于 05-14 16:02 1.6w次阅读

    Python 如何判断字符串是否包含子

    方法 使用 字符串 对象的 find 方法,如果有找到子,就可以返回指定子字符串中的出现位置,如果没有找到,就返回 -1 >> > "hello,
    的头像 发表于 11-02 10:55 495次阅读

    python怎么把字符串变成数字

    Python是目前广泛应用的一种编程语言,它以简洁、易读和灵活的特性被广大开发者所喜爱。在Python中,字符串和数字是两种常见的数据类型。字符串是由
    的头像 发表于 11-22 09:47 3799次阅读

    python输出固定长度的字符串

    Python 是一种强大而灵活的编程语言,具有许多用于处理字符串的功能。在 Python 中,有多种方法可以输出固定长度的字符串。下面将详细介绍这些方法。 方法一:使用
    的头像 发表于 11-22 10:41 3331次阅读