Python 正则表达式 (...) 符号

Python 正则表达式 ... 符号

  • 正文
    • 示例1------ ... 字符
    • 示例2
    • 示例3
    • 示例4
    • 示例5

正文

(...) 用来匹配括号内的任意正则表达式。

之前我们已经介绍过了 . 符号在正则表达式中的用法,其用来匹配除了 \n 字符以外的单个字符。那么对于 ...,显然它可以匹配除了 \n 字符以外的任意三个字符的组合。

示例1------ … 字符

import restr1 = 'abc(def)opq'
print(re.search('...', str1))
"""
result:
<re.Match object; span=(0, 3), match='abc'>
"""

显然,匹配到的是开头的三个字符 abc

示例2

接下来,我们研究一下 (...) 字符的含义。

import restr1 = 'abc(def)opq'
print(re.search('(...)', str1))
"""
result:
<re.Match object; span=(0, 3), match='abc'>
"""

很明显,也匹配到了开头的三个字符 abc

示例3

import restr1 = 'abc(def)opq'
print(re.search('\(...\)', str1))
str1 = 'abc(defg)opq'
print(re.search('\(...\)', str1))
"""
result:
<re.Match object; span=(3, 8), match='(def)'>
None
"""

当我们给 () 均加上转义符号 \ 时,就会配到 (def) 字符串。但是 () 中的字符串数量从三个到四个时,就匹配不到任何结果了,因为 ... 只匹配三个字符。 但是一旦我们加上了转义符号 \\(...\) 的含义就不再是 (...) 了,这里仅仅是为了说明这个事情。读者务必需要注意。

示例4

我们回归到原本的 (...) 符号。

import restr1 = 'abc(def)opq'
print(re.search('abc(...)', str1))
"""
result:
<re.Match object; span=(0, 6), match='abc(de'>
"""

此时,匹配到了字符串 abc(de,因为当匹配的时候我们开头有了 abc 三个字符,根据示例 2 中的结果,(...) 会匹配到后面的三个字符。因此匹配到了 (de,最终将二者的组合字符串 abc(de 作为结果进行了输出。

示例5

我们这里做一个延申,如果要匹配到上述整个字符串该怎么办呢?我们只需要将括号中的 ... 变成 .....

import restr1 = 'abc(def)opq'
print(re.search('abc(.....)opq', str1))
"""
result:
<re.Match object; span=(0, 11), match='abc(def)opq'>
"""

对比上述所有示例,我们可以看到,对于 (...) 形式,() 实际上并没有意义,只是表示使用 () 中的 ... 符号进行匹配。

有些小伙伴可能会问,那既然没有意义,为什么还需要使用 () 呢?因为,如果你不是用 (...) 而直接使用 ...Python 就会将你的匹配对象视作 ... 符号,而不是把 ... 符号看作是除了 \n 字符以外的任意符号。

如果大家觉得有用,就请点个赞吧~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/7498.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

领鸡蛋游戏养鸡游戏淘宝客源码广告联盟功能介绍

领鸡蛋游戏功能介绍 核心功能 用户鸡蛋数量 玩家在游戏中会累积一定数量的鸡蛋&#xff0c;这些鸡蛋可以通过完成任务、签到、邀请好友等方式获得。鸡蛋数量直接关联到玩家的游戏进度和奖励。足迹 足迹功能展示用户的饲料明细&#xff0c;包括饲料的获取方式、数量以及时间等…

公司数据防泄漏方案分享|防泄密软件有哪些

企业的数据安全是公司稳定发展的必要条件&#xff0c;如何防止内部数据泄露企业的数据安全是公司稳定发展的必要条件&#xff0c;如何防止内部数据泄露已经成为了一个亟待解决的问题。在这个信息时代&#xff0c;数据已经成为企业最重要的资产之一&#xff0c;因此&#xff0c;…

AWS宣布推出Amazon Q :针对商业数据和软件开发的生成性AI助手

亚马逊网络服务&#xff08;AWS&#xff09;近日宣布推出了一项名为“Amazon Q”的新服务&#xff0c;旨在帮助企业利用生成性人工智能&#xff08;AI&#xff09;技术&#xff0c;优化工作流程和提升业务效率。这一创新平台的推出&#xff0c;标志着企业工作方式的又一次重大变…

VPS服务器有哪些用途?

VPS的中文全称为虚拟专用服务器技术&#xff0c;是将一台服务器划分成多个虚拟专享服务器的优质服务&#xff0c;VPS可以像物理服务器一样&#xff0c;进行重装操作系统和安装程序&#xff0c;为用户提供了管理配置的自由&#xff0c;可以用在企业虚拟化方面。 VPS技术可以通过…

机械类外文 翻译

随着科技的日新月异&#xff0c;机械工程领域也在不断蜕变&#xff0c;为了更好地与世界接轨&#xff0c;对外文资料的准确翻译显得尤为重要。那么&#xff0c;那么&#xff0c;关于机械类的外文翻译&#xff0c;如何保证译文的质量&#xff0c;哪个翻译公司在北京更为专业呢&a…

Android14音频进阶之AAOS关键服务CarAudioManager与CarAudioService(七十)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒体系统工程师系列【原创干货持续更新中……】🚀 优质视频课程:AAOS车载系统+AOSP…

密码学《图解密码技术》 记录学习 第十五章

目录 十五章 15.1本章学习的内容 15.2 密码技术小结 15.2.1 密码学家的工具箱 15.2.2 密码与认证 15.2.3 密码技术的框架化 15.2.4 密码技术与压缩技术 15.3 虚拟货币——比特币 15.3.1 什么是比特币 15.3.2 P2P 网络 15.3.3地址 15.3.4 钱包 15.3.5 区块链 15.3.…

安装Nox夜神模拟器关闭了HyperV后Docker运行不了怎么办?

1.背景 为了模拟真机&#xff0c;尝试安装了Nox夜神模拟器&#xff0c; 安装过程要求关闭Hyper-V。当时只是在程序安装卸载中关闭了系统服务。以为到时勾选上就好了。操作路径&#xff1a;控制面板\所有控制面板项\程序和功能\启用或关闭Windows功能\Hyper-V。 后来卸载掉了夜神…

【一起深度学习——NIN】

NIN神经网络 原理图&#xff1a;代码实现&#xff1a;输出结果&#xff1a; 原理图&#xff1a; 代码实现&#xff1a; import torch from torch import nn from d2l import torch as d2ldef nin_block(in_channels, out_channels, kernel_size, strides, padding):return nn.…

神经网络有哪些算法

神经网络算法是人工智能领域的重要组成部分,它通过模拟人类神经系统的结构和功能,实现对复杂问题的处理和分析。以下是对神经网络算法的详细概述,包括常见的算法和它们的特点、应用等,力求达到约2500字的篇幅。 一、神经网络算法概述 神经网络算法是一种基于人工神经元的…

零基础自学网络安全/Web安全(超详细入门到进阶)学完即可就业(含学习笔记)

一、为什么选择网络安全&#xff1f; 这几年随着我国《国家网络空间安全战略》《网络安全法》《网络安全等级保护2.0》等一系列政策/法规/标准的持续落地&#xff0c;网络安全行业地位、薪资随之水涨船高。 未来3-5年&#xff0c;是安全行业的黄金发展期&#xff0c;提前踏入…

深度学习之基于Matlab特征匹配的手写电话号码、数字识别系统

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景 在信息化日益发展的今天&#xff0c;手写电话号码和数字的识别技术显得尤为重要。这种技术不仅能够提…

绝地求生:PUBG杜卡迪联名进入倒计时3天!

大家好&#xff0c;我是闲游盒。 杜卡迪联名已经进入倒计时3天&#xff01;喜欢的朋友要注意结束时间可千万别错过&#xff01; 杜卡迪6色车辆 随着五一小长假的结束&#xff0c;本次混沌漫彩通行证也即将结束&#xff0c;本次通行证31级之后没升1级可额外领取1500BP和挑战者纪…

【Stream 流】通过一个例子看遍所有Stream API使用场景

前言 上篇文章记录了方法引用&#xff0c;Lambda表达式等基础的知识点&#xff0c;这篇文章主要结合课设项目详细介绍Stream 流的API以及它的主要场景。 Stream API作用 在Java 8及其以后的版本中&#xff0c;Stream API为处理集合数据提供了强大而灵活的功能。有了Stream AP…

普乐蛙元宇宙VR体验馆设备集体亮相VR文旅景区展

普乐蛙全国巡展又双叒叕开始了! 这次来到的是“好客山东”↓↓ 山东2024休闲旅游产业展 4月25日至27日&#xff0c;2024休闲旅游产业展在临沂国际博览中心举办。本次展会以“潮购文旅好品&#xff0c;乐享时尚生活”为主题&#xff0c;汇聚全国文旅产业上下游500多家企业、上万…

武汉理工大学python123实验——流程控制结构

1.百分制成绩转换五分制#1707 n int(input())if n>90:print(A) elif n>80:print(B) elif n>70:print(C) elif n>60:print(D) else:print(E) 2.角古猜想#73963 n eval(input()) if n<0:print(ERROR) elif . in str(n):print(ERROR) else:print(n,end" …

将drawable图片转化为byte[]

在Android中&#xff0c;将drawable资源中的图片转化为byte[]数组通常涉及几个步骤。以下是一个基本的步骤指南和示例代码&#xff1a; 获取Drawable资源&#xff1a;首先&#xff0c;你需要从资源中获取Drawable对象。这通常是通过Context的getResources().getDrawable()方法…

Terraform表达式

表达式用来在配置文件中进行一些计算&#xff0c;最简单的表达式就是字面量&#xff0c;比如”hello”&#xff0c;或者5。Terraform也支持一些更加复杂的表达式&#xff0c;比如引用其他resource的输出值、数学计算、布尔条件计算&#xff0c;以及一些内建的函数。 在Terrafo…

idea无法识别加载pom.xml文件

有时idea无法识别加载pom.xml文件&#xff0c;直接打开pom.xml文件&#xff0c;然后添加到maven就行

新品宣传如何做好网络媒体推广+

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 新品宣传在网络媒体推广中&#xff0c;可以按照以下步骤进行&#xff1a; 产品预热 目标&#xff1a;提高潜在顾客的期待感和好奇心。 方法&#xff1a; A.发布软文&#xff1a;在各大平…