首页 > 编程语言 >python3正则-单匹配函数

python3正则-单匹配函数

时间:2023-04-15 12:33:06浏览次数:41  
标签:匹配 string pattern re 正则 flags result python3

1、介绍
re模块是python3用于处理正则的模块。

这里介绍三个函数,re.match、re.fullmatch和re.search的使用。
其都是如果匹配,则返回re.Match类对象,为初次匹配项。不匹配则返回None。
且()不影响匹配结果,只是匹配过程中对需要匹配的描述。

2、match函数

match(pattern, string, flags=0)
  • pattern,正则表达式
  • string,待处理字符串
  • flags,标志,处理模式
  • 作用是在flags代表的模式下,匹配strings指向的字符串是否存在以pattern指向的规则作为开始
  • 如果存在匹配,返回类型为re.Match。如果不存在匹配,则返回None

示例:

import re
# match函数

# 是否加前缀^不影响
# pattern = "^abc"
pattern = "abc"
result = re.match(pattern=pattern, string="abcdef")
print(result)
"""
<re.Match object; span=(0, 3), match='abc'>
"""
print(type(result))
"""
<class 're.Match'>
"""

3、fullmatch函数

fullmatch(pattern, string, flags=0)
  • pattern,正则表达式
  • string,待处理字符串
  • flags,标志,处理模式
  • 作用是在flags代表的模式下,匹配strings指向的字符串是否存在与以pattern指向的规则整体完全匹配
  • 如果存在匹配,返回类型为re.Match。如果不存在匹配,则返回None

示例:

import re


# 是否加前后缀不影响
# pattern = "^.*$"
pattern = ".*"
result = re.fullmatch(pattern=pattern, string="abcdef")
print(result)
"""
<re.Match object; span=(0, 6), match='abcdef'>
"""
print(type(result))
"""
<class 're.Match'>
"""

4、search函数

search(pattern, string, flags=0)
  • pattern,正则表达式
  • string,待处理字符串
  • flags,标志,处理模式
  • 作用是在flags代表的模式下,匹配strings指向的字符串是否存在pattern指向的规则作为子字符串,不要求开始和结尾
  • 如果存在匹配,返回第一个匹配项,返回类型为re.Match。如果不存在匹配,则返回None

示例:

pattern = "bcd"
result = re.search(pattern=pattern, string="abcdef")
print(result)
"""
<re.Match object; span=(1, 4), match='bcd'>
"""
print(type(result))
"""
<class 're.Match'>
"""

标签:匹配,string,pattern,re,正则,flags,result,python3
From: https://www.cnblogs.com/wd404/p/17320878.html

相关文章

  • Python 利用正则表达式和filter函数 筛选序列(列表等)
    在 Python 中,序列类型包括字符串、列表、元组、集合和字典http://c.biancheng.net/view/4312.htmlPython内建的filter()函数用于过滤序列https://www.liaoxuefeng.com/wiki/1016959663602400/1017404530360000序列内逐个元素筛选filter并用list保存结果筛选的判断条件是re.match......
  • python3多线程-线程池和优先队列
    1、介绍有两种线程池方案。各线程持续存在,从任务池获取任务进行执行按照需求创建线程,每个线程只执行一个任务,结束完毕则该线程结束2、准备(1)任务池task_list任务池是用于准备各任务单元的环境,比如http爆破时的请求参数,读写文件时的路径。任务池的准备可能会占用一定时间,边准......
  • bash shell 无法使用 perl 正则
      哈喽大家好,我是咸鱼。今天跟大家分享一个关于正则表达式的案例,希望能够对你有所帮助案例现象前几天有一个小伙伴在群里求助,说他这个shell脚本有问题,让大家帮忙看看   可以看到,这个脚本首先将目标文本文件的名字当作该脚本的第一个参数($1)传递进去,然后查看这个文本......
  • python3多线程-线程同步
    1、介绍多线程同时访问和操作同一资源,可能会造成异常。解决办法是对资源进行限制,同一时间只允许一个线程进行访问和操作。这里的资源,一般是指方法、函数或者代码块。即由多行代码组成,在逻辑上属于不可切分的操作。2、线程同步使用Thread对象的Lock和Rlock可以实现简单......
  • python3模块和相关
    1、模块为了方便管理类和函数,将其保存到不同的文件中,文件又可以存放在不同的目录下。这里的文件和目录,即python模块。(1)通过关键字import进行导入(2)一个模块只会被导入一次,不管你执行了多少次import。这样可以防止导入模块被一遍又一遍地执行。(3)搜索路径被存储在sys模块......
  • python3类的继承与相关
    参考:https://blog.csdn.net/zhouzhiwengang/article/details/1196776371、继承python支持类继承,在子类类名后的圆括号()中声明继承的父类,如果没有继承,则可以不加()。支持多继承,直接写入多个类名,用,分隔。如果没有指定基类,python的类会默认继承object类。object是所有python类......
  • python3类
    1、类python中使用关键字class声明类。在类中,可以有变量和方法。2、对象变量和类变量在类中、方法外声明的变量为类变量,基于该类创建的对象共享类变量。在类中、方法中声明的变量为对象变量,属于各对象私有。对象变量一般建议在初始化方法__init__中统一声明,当然,在其他方法中......
  • rust模式匹配(可驳模式匹配与不可驳模式匹配)
    rust的一个特性就是模式匹配(OOP编程语言好像都有?),模式匹配常常和变量绑定一起考虑常见的模式匹配有:match、iflet、whilelet、let、for、函数参数等等(for和let我个人认为说是模式匹配,其实有点牵强了,除非这样let(x,y)=(1,2)可驳与不可驳可驳模式匹配要求一定要穷尽所有......
  • python3控制结构
    1、介绍控制结构一般为:顺序结构,默认的从前到后执行顺序执行即是条件结构,if结构,python没有switch结构循环结构,while和for结构,以及迭代器,python不存在dowhile结构2、if结构if条件判断:passelif条件判断:passelse:pass3、while结构i=3whilei>0:......
  • python 正则处理字符串,使用函数
    """在正则截取的字符子串基础上,处理字符串Python的re模块提供了re.sub用于替换字符串中的匹配项。语法:re.sub(pattern,repl,string,count=0,flags=0)参数:pattern:正则中的模式字符串。repl:替换的字符串,也可为一个函数。string:要被查找替换的原始字符串。cou......