look-behind requires fixed-width pattern_正则表达式

embedded/2024/9/23 1:06:49/

问题:例如我想要匹配一段文本中,字符“a”在“小猫”的前面,中间有可能间隔好几个字符,也有可能直接相邻。结果只返回“小猫”。

import re
text = "这是一只非常可爱的a的的小猫."
pattern = r"(?<=a*)小猫"
result = re.findall(pattern, text)
print(result)

如果这么写,会报错:look-behind requires fixed-width pattern

> 原因:正则引擎要求查找后顾表达式中的模式必须具有固定宽度,也就是说不能用星号,因为他可代替好几个字符。如果将星号改成“的的”,是可以匹配到小猫的

解决方案: 用Python的regex库而非内置的re库。

import regex
text = "这是一只非常可爱的a的的小猫."
pattern = r"(?<=a*)小猫"
result = regex.findall(pattern, text)
print(result)

结果:

['小猫']

http://www.ppmy.cn/embedded/24125.html

相关文章

智能物联网时代:Web3连接智能设备的未来

随着科技的飞速发展&#xff0c;物联网&#xff08;IoT&#xff09;已经成为了现代生活中不可或缺的一部分。从智能家居到智能城市&#xff0c;物联网技术正在改变我们的生活方式和工作方式。而Web3作为下一代互联网的重要组成部分&#xff0c;将为智能物联网带来哪些新的可能性…

云计算中的网络服务

网络服务是云计算平台不可或缺的一部分&#xff0c;为用户提供构建、管理、保护云环境中网络资源的能力。以下是对列举的七种网络服务——虚拟私有云&#xff08;VPC&#xff09;、负载均衡、内容分发网络&#xff08;CDN&#xff09;、云防火墙、专用网络连接&#xff08;专线…

windows平台安装labelme

之前写过一篇文章也是关于在windows平台安装labelme的&#xff1a;《windows平台python版labelme安装与使用_labelme下载-CSDN博客》&#xff0c;随着软件与工具的更新换代&#xff0c;按照同样的方法最近在使用的时候出现了错误&#xff0c;出现创建虚拟环境失败&#xff0c;具…

搜维尔科技:Varjo XR-4客户体验中,在VR体验中获得高层次的视觉保真度和沉浸感。

Varjo XR-4系列是Varjo的最新一代头戴式显示器&#xff0c;其代表着世界领先的的混合现实技术和图形处理能力。新一代的XR-4更加迎合工业使用案例&#xff0c;在用户在VR体验中获得高层次的视觉保真度和沉浸感。 搜维尔科技&#xff1a;Varjo XR-4客户体验中&#xff0c;在VR…

webscoket+webrtc实现语音通话

1.项目方案 前端采用webrtc创建音频上下文&#xff0c;后创建音频源输入和音频处理器&#xff0c;连接音频输入与处理器&#xff0c;处理器再连接到音频输出&#xff08;扬声器&#xff09;&#xff0c;再通过事件获取音频数据&#xff0c;把音频数据转换成字节数据通过webscok…

使用Maven将SpringBoot项目打成jar包

Maven打包最为推荐方式&#xff0c;方便快捷 项目右侧点击Maven&#xff0c;然后在Lifecycle下&#xff0c;点击install

【自然语言处理】Word2VecTranE的实现

作业一 Word2Vec&TranE的实现 1 任务目标 1.1 案例简介 Word2Vec是词嵌入的经典模型&#xff0c;它通过词之间的上下文信息来建模词的相似度。TransE是知识表示学习领域的经典模型&#xff0c;它借鉴了Word2Vec的思路&#xff0c;用“头实体关系尾实体”这一简单的训练目…

【信号与系统 - 11】单边拉普拉斯变换的性质

①线性特性 ②(因果信号的)延时特性 ③尺度变换 ④复频移性 ⑤时域微积分 ⑥时/频域的卷积定理 1 线性性质 { f 1 ( t ) ↔ X 1 ( s ) , f 2 ( t ) ↔ X 2 ( s ) a f 1 ( t ) b f 2 ( t ) ↔ a X 1 ( s ) b X 2 ( s ) \begin{cases} f_1(t)\leftrightarrow X_1(s),f_2(t)\le…