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

server/2024/10/18 14:23:20/

问题:例如我想要匹配一段文本中,字符“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/server/24588.html

相关文章

[C++][算法基础]最大不相交区间数量(贪心 + 区间问题2)

给定 &#x1d441; 个闭区间 [&#x1d44e;&#x1d456;,&#x1d44f;&#x1d456;]&#xff0c;请你在数轴上选择若干区间&#xff0c;使得选中的区间之间互不相交&#xff08;包括端点&#xff09;。 输出可选取区间的最大数量。 输入格式 第一行包含整数 &#x1d4…

JavaEE技术之MySql高级(索引、索引优化、sql实战、View视图、Mysql日志和锁、多版本并发控制)

文章目录 1. MySQL简介2. MySQL安装2.1 MySQL8新特性2.2 安装MySQL2.2.1 在docker中创建并启动MySQL容器&#xff1a;2.2.2 修改mysql密码2.2.3 重启mysql容器2.2.4 常见问题解决 2.3 字符集问题2.4 远程访问MySQL(用户与权限管理)2.4.0 远程连接问题1、防火墙2、账号不支持远程…

使用selenium时出现element click intercepted报错的解决办法

win10&#xff0c;python3.8.10。 selenium版本如下&#xff08;用pip38 show selenium查看&#xff09;&#xff1a; 在定位中&#xff0c;定位了一个按钮&#xff08;特点&#xff1a;button下还有span然后才是文本&#xff09;&#xff0c;代码如下&#xff1a; from sele…

梯度提升回归(概念+实例)

目录 前言 一、基本概念 1. 弱学习器&#xff08;Weak Learners&#xff09; 2. 提升&#xff08;Boosting&#xff09; 3. 梯度提升算法&#xff08;Gradient Boosting Algorithm&#xff09; 3.1. 梯度下降 3.2. 回归问题中的梯度提升 4. 梯度提升回归的训练过程 5.…

scrollintoview方法滚动距离顶部距离

scrollIntoView 方法是 DOM API 的一部分&#xff0c;用于将元素滚动到视图中。这个方法接收一个布尔值参数 alignToTop&#xff0c;指示是否需要滚动到视图的顶部。 以下是如何使用 scrollIntoView 方法的示例代码&#xff1a; // 获取需要滚动的元素 const element docume…

淘宝/天猫按图搜索淘宝商品(拍立淘) API,按图搜索商品详情

淘宝/天猫的“按图搜索商品”功能&#xff0c;通常被称为“拍立淘”&#xff0c;允许用户通过上传图片来搜索相似的商品。这项服务背后是由淘宝提供的API支持&#xff0c;使得用户能够快速找到与上传图片相匹配或类似的商品。以下是关于“按图搜索淘宝商品”API的一些关键信息&…

公网ip申请ssl仅260

现在很多网站都已经绑定域名&#xff0c;因此使用的都是域名SSL证书保护网站传输信息安全&#xff0c;而没有绑定域名只有公网IP地址的网站想要保护传输信息安全就要申请IP SSL证书。IP SSL证书也是由正规CA认证机构颁发的数字证书&#xff0c;用来保护用户的隐私以及数据安全&…

Selenium的基本使用

Selenium是一款自动化测试工具&#xff0c;常用于web应用的自动化测试。通过Selenium&#xff0c;我们可以模拟用户操作&#xff0c;如点击按钮、输入文本等&#xff0c;以测试web应用的各项功能。 一、启动和关闭浏览器 使用Selenium之前&#xff0c;需要确保已经安装了相应…